我想在不同的用户下使用cmd.exe
运行一个groovy脚本。
我已经使用Start-Process
,当脚本执行时,它只是在屏幕上以不同的用户打开提示但不处理$command
。
所以我的问题是“如何在使用PowerShell运行cmd.exe
后传递命令?
这是我到目前为止所做的:
$username = "abc"
$pwd = ConvertTo -SecureString "xyz" -AsPlainText -Force
$cred = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $username $pw
$command = "filepath/.groovy"
try {
Start-Process 'cmd' -Credential $cred -ArgumentList $command
Write-Host $LASTEXITCODE
if($LASTEXITCODE -ne 0) {
throw "Error occured"
} else {
return 0
}
} catch {
Write-Error "Error Desc:$_Error.InnerException.Message";
}
答案 0 :(得分:1)
根据CMD documentation,您可以指定参数/c
或/k
来执行命令。
Start-Process 'cmd' -Credential $cred -ArgumentList "/c $command"