如何在PowerShell中运行以下命令。以下命令将提示输入密码,用户需要输入密码。我想自动化它。
mxexport [ -f <zip file name> ]
我尝试在文件中保存密码并在PowerShell中运行以下脚本:
$password = get-content C:\cred.txt | convertto-securestring
$pass=[Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($password))
& 'C:\Program Files\XX\XX\bin\mxexport.exe' -f file.zip, -p $pass
但我收到以下错误:
mxexport.exe'
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (Error while getting password from User.:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
答案 0 :(得分:2)
您使用的是单引号,因此$pass
变量无法解析。您也不需要将参数包装在引号内,只需使用:
& "C:\Program Files\XX\XX\bin\mxexport.exe" -p $pass
修改您的评论
尝试使用splatting传递参数:
$arguments = @("-f file.zip", "-p $pass")
& "C:\Program Files\XX\XX\bin\mxexport.exe" @arguments