编辑::::请参见最底部的问题当前状态。
在当前的设置中,一个批处理文件通过以下方式调用PowerShell脚本:
powershell D:\path\powershellScript.v32.ps1 arg1 arg2 arg3 arg4
我想将这个内容转换成调用另一个PowerShell的PowerShell脚本。但是,我在使用"Start-Process"时遇到了问题。以下是我目前拥有的内容,但在执行时我得到了以下错误:
No application is associated with the specified file for this operation
这是正在执行的PowerShell
$powershellDeployment = "D:\path\powershellScript.v32.ps1"
$powershellArguments = "arg1 arg2 arg3 arg4"
Start-Process $powershellDeployment -ArgumentList $powershellArguements -verb runas -Wait
由于下面的帮助,我现在有了以下内容
$username = "DOMAIN\username"
$passwordPlainText = "password"
$password = ConvertTo-SecureString "$passwordPlainText" -asplaintext -force
$cred = New-Object -TypeName System.Management.Automation.PSCredential -argumentlist $username,$password
$powershellArguments = "D:\path\deploy.code.ps1", "arg1", "arg2", "arg3", "arg4"
Start-Process "powershell.exe" -credential $cred -ArgumentList $powershellArguments
然而,当我从远程机器上执行此脚本时,尽管使用的用户名具有对该计算机的完全管理员访问权限,但仍会出现“访问被拒绝”的错误。
$powershellDeployment
内容周围的引号来消除了“没有应用程序...”的问题。目前脚本按预期执行,但它要求参数,这意味着我尝试传递的参数没有被正确传递。 - mhopkins321