Вопрос Powershell: строка для экземпляра объекта, используемая в качестве имени файла для export-vapp - PullRequest
0 голосов
/ 25 декабря 2018

Я пытаюсь передать строку в качестве имени файла функции.Это происходит со всем, я просто использую 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"

1 Ответ

0 голосов
/ 25 декабря 2018

Итак, PowerCLI export-vapp не принимает имя файла с () или [], и поэтому мне пришлось заменить его символом подчеркивания _, чтобы исправить это

...