powershell - Powershell 问题:String to Instance of an Object to used as a filename for export-vapp
问题描述
我正在尝试将字符串作为文件名传递给函数。任何事情都会发生这种情况,我只是以 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"
解决方案
所以 PowerCLI export-vapp 不接受带有 () 或 [] 的文件名,所以我不得不用 _ 下划线替换它来修复它
推荐阅读
- or-tools - 获取车辆路径问题的距离成本函数内的当前 SearchDepth
- youtube-data-api - Youtube API 频道会员 (sponsors.list) 的分页是否损坏?
- python - django_tastypie 无法识别网址
- vue.js - vue: v-else 没有完全显示上下文
- spring-boot - 从运行 SpringBoot 应用程序的 Pod 连接到 GC 存储
- flask - 如何在烧瓶中为 wysisyg 编辑器 insertImage 设置默认目录
- angular - 将文件从 Angular 7 Web App 上传到 Apollo 2.0 GraphQL Server
- javascript - 如何从服务器获取图像文件并将其压缩到sailsjs
- javascript - 使用 npm package.json 运行 html 网页
- xml - 我按照说明操作,但我的 XML 和 XSL 文件无法正常工作