1

我需要在远程机器上执行批处理文件,其中正在执行的批处理文件驻留在远程文件共享上。假设我的 ID 在远程计算机上是管理员,我已经能够在 Powershell 中使用 CredSSP 身份验证来执行此操作,但是一旦我删除了管理员访问权限,我就会得到以下信息:

拒绝访问
+ CategoryInfo : InvalidOperation: (:) [Invoke-WmiMethod], ManagementException
+ FullyQualifiedErrorId : InvokeWMIManagementException,Microsoft.PowerShell.Commands.InvokeWmiMethod

我已尝试按照此处的建议启用我的 ID 对 Microsoft.Powershell 的完全控制权,但没有运气:http: //blogs.msdn.com/b/powershell/archive/2009/11/23/you-don-t-必须成为管理员才能运行远程 powershell-commands.aspx

我正在运行的命令:

$s = New-PSSession -computerName $remoteMachine -Credential $cred -Authentication CredSSP

Invoke-Command -Session $s -Scriptblock {param($remoteBatchFile) invoke-wmimethod -path win32_process -name create -argumentlist $remoteBatchFile} -ArgumentList $remoteBatchFile

Remove-PSSession $s

有关如何解决安全错误的任何建议?我确实有要求从网络位置运行批处理文件,并且 ID 在任何一台机器上都不是管理员。任何建议将不胜感激,谢谢!

4

1 回答 1

0

您正面临可怕的第二跳问题。在 PowerShell 远程会话中,如果不重新进行身份验证,您将无法跳转或轻松引用其他网络资源。使用 CredSSP 是解决此问题的一种方法。我使用的另一种方法是在您的远程会话中添加一个 NET USE 命令来临时将驱动器映射到远程计算机,并指定用户名和密码。

于 2012-04-09T20:07:37.340 回答