【问题标题】:Powershell question: String to Instance of an Object to use as a filename for export-vappPowershell 问题:String to Instance of an Object to use as a filename for export-vapp
【发布时间】:2018-12-25 02:33:28
【问题描述】:

我正在尝试将字符串作为文件名传递给函数。任何事情都会发生这种情况,我只是以 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"

【问题讨论】:

  • 您的$ovafilename 在代码中显示了一个下划线...但表观值显示一个空格>> myVM v20181212.ova
  • 天哪……这就是问题所在。
  • 所以 PowerCLI export-vapp 不接受带有 ( ) 或 [ ] 的文件名,所以我不得不用 _ 下划线替换它来修复它
  • 哈!很高兴知道你把它修好了! [咧嘴]

标签: powershell vmware powercli


【解决方案1】:

所以 PowerCLI export-vapp 不接受带有 () 或 [] 的文件名,所以我不得不用 _ 下划线替换它来修复它

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-04
    • 2022-12-01
    • 2012-01-02
    • 2017-01-08
    • 2022-12-02
    • 2022-12-27
    相关资源
    最近更新 更多