当我在下面运行Powershell脚本时,我收到以下错误 . 如何通过参数PowerShell运行程序?该脚本将是一个组策略登录 .
Invoke-Expression:找不到接受参数'\ TBHSERVER \ NETLOGON \ BGInfo \ BGIFILE.bgi / timer:0 / s ilent / nolicprompt'的位置参数 . 在X:\ Systems \ scripts \ PowerShell \ UpdateDesktopWithBGInfo.ps1:6 char:18 Invoke-Expression <<<< $ logonpath $ ArguList CategoryInfo:InvalidArgument:(:) [Invoke-Expression],ParameterBindingException FullyQualifiedErrorId:PositionalParameterNotFound,Microsoft.PowerShell .Commands.InvokeExpressionCommand
$LogonPath = $env:LOGONSERVER + "\NETLOGON\BGInfo\Bginfo.exe"
$ArguList = $env:LOGONSERVER + '\NETLOGON\BGInfo\BGIFILE.bgi /timer:0 /silent /nolicprompt '
invoke-command $LogonPath
Invoke-Expression $logonpath $ArguList
2 回答
试试这个:
如果BGIFILE.bgi与Bginfo.exe位于同一位置,则只能指定文件名:
Invoke-Command
最适合远程运行命令 . 正如Shay指出的那样,你可以使用&号&
告诉PowerShell在本地执行某些内容,就像cmd.exe shell一样 .为了使
Invoke-Command
工作,你需要做这样的事情:注意在脚本块中使用&符号 . 因此,如果您在本地运行命令,请使用&符号,如Shay的示例所示 .