我试图将字符串作为文件名传递给函数。这一切都会发生,我只是以vmware powercli为例。为什么我会犯这个错误:
这是我的powershell代码?(很抱歉,这件事已经拖延了我几个小时了):
PowerCLI C:\> $BackupDir
c:\temp
PowerCLI C:\> $backupDate
20181225
PowerCLI C:\> $line
myVM
PowerCLI C:\> $ovafilename = $line+"_v"+$backupDate+".ova"
myVM v20181212.ova
......................
......................
......................
... And now here is the problem command. It wont convert my string to a instance object:
PowerCLI C:\> Export-VApp -Destination $BackupDir -VM $line -Format OVA -Name $ovafilename此错误消息显示:
Export-VApp : 12/25/2018 11:20:11 AM Export-VApp Object reference not set to an instance of an object.
At line:1 char:1
+ Export-VApp -Destination $BackupDir -VM $line -Format OVA -Name "$ova ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Export-VApp], ViError
+ FullyQualifiedErrorId : Client20_NfcLease_RunNfcTask_Error,VMware.VimAutomation.ViCore.Cmdlets.Commands.ExportVApp然而.如果我替换了$ovafilename字符串,然后手动键入它,它就能工作了。为什么?
PowerCLI C:\> Export-VApp -Destination $BackupDir -VM $line -Format OVA -Name "testfilename.ova"发布于 2018-12-25 03:11:19
因此,PowerCLI export不接受带有()或的文件名,所以我不得不用_ underscrore替换它来修复它。
https://stackoverflow.com/questions/53918938
复制相似问题