我的场景:通过远程桌面连接登录远程计算机并以管理员身份打开命令提示符,并在命令提示符下执行一些管理命令。
我正尝试通过本地计算机上的PowerShell自动执行上述方案。
以下是我所做的步骤:
Start-Process cmd -ArgumentList '/c cmdcommand > output.txt -Verb runas
。这在远程机器中按预期工作,因为我得到了所需的输出。Invoke-Command -ComputerName computername - ScriptBlock {Start-Process cmd -ArgumentList '/c cmdcommand > output.txt -Verb runas} -Credentials $cred
从本地PowerShell脚本执行此命令。我没有任何输出。runas
参数的情况下执行上述命令时,我得到输出,说明此特定命令需要管理员凭据,这是预期的。Invoke-Command -ComputerName computername - ScriptBlock {Start-Process cmd -ArgumentList '/c cmdcommand > output.txt} -Credentials $cred
。我在这里错过了什么吗?
答案 0 :(得分:0)
执行:
Enable-PSRemoting -Force
在目标PC上提示。然后Restart-Service WinRM
Enter-PSSession -ComputerName $rpc -Credential (Get-Credential)
答案 1 :(得分:0)
如果您能够远程访问默认端点Microsoft.PoweShell,则表示执行用户是目标计算机的管理员。
但是在这里,我怀疑你指定的cmdcommand
实际上正在执行一些针对远程资源的执行,因此它将成为双重希望问题。
如果是这样,下面的文章将为您解决问题。