通过Powershell PSSession调用invoke-wmimethod而不是远程机器上的管理员?

时间:2012-04-09 18:06:52

标签: powershell admin

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

访问被拒绝了     + 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-have-to-be-an-administrator-to-run-remote-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在任一台计算机上都不是管理员。任何建议将不胜感激,谢谢!

1 个答案:

答案 0 :(得分:0)

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

相关问题