如何在powershell中执行冗长的命令

时间:2014-04-26 07:55:10

标签: powershell powershell-v3.0

下面的数组包含一个冗长的命令行,我必须执行相同的操作 这是使用SCCM

验证.MIG USMTUTIL.EXE文件的命令
$array = "C:\MININT\amd64\usmtutils /verify:All \\SMB001.India.kerala.net\SMPSTORED_91DAA93F$\2AE09BF0AADC04FC89E0CE8A49E8C904E44C0314A123824A7EB289CAFC258026\USMT\USMT.mig /Decrypt /key:PZSTqMLlsJAYna/ndimPT1SrSAz4JjSNH1P7Sv/8mDj8qmytPcLPE3lYzxHnMiVj/6UkdDcWmiaKqgxHO3yjZj2gu8r/j23oefWOsdyWbo4r3UX2gPvMO38np7OOabZ8B0B6A5mAYynAjfy/1e00uhIm1h6soFUWIuu3wkNevBHxkWQs4xslGlooVOn0f+1kGqe05iRWUaVZC4/yYKv3LdbFLhzRXOxVYjriao4oKCEpNEdjnDK6DRoRRrbDy8Ac > C:\temp\DENDMNPWTST008.log"

我尝试了Invoke-expression $array

执行此命令时,它分成不同的行,只有第一行正在执行并显示错误。但我可以复制粘贴并运行它

Error: CategoryInfo : NotSpecified: (:String) [], RemoteException FullyQualifiedErrorId : NativeCommandError 

1 个答案:

答案 0 :(得分:0)

Invoke-Expression期待字符串参数而不是字符串数组。

试试这个:

Invoke-Expression ($array | out-string)