为什么Invoke-Command {net localgroup}失败?

时间:2017-05-30 15:23:33

标签: powershell

我可以在远程计算机上成功使用NET USENET USER命令。为什么不NET LOCALGROUP

PS C:\src\powershell> Invoke-Command -ComputerName OTHERMACHINE -ScriptBlock { & NET LOCALGROUP }
System error 1312 has occurred.
    + CategoryInfo          : NotSpecified: (System error 1312 has occurred.:String) [], Rem
   oteException
    + FullyQualifiedErrorId : NativeCommandError
    + PSComputerName        : OTHERMACHINE

A specified logon session does not exist. It may already have been terminated.

传递/ USER参数会产生不同的错误。

PS C:\src\powershell> Invoke-Command -ComputerName OTHERMACHINE -ScriptBlock { & net localgroup /USER:THEDOM\theuser }
The option /USER:THEDOM\theuser is unknown.
    + CategoryInfo          : NotSpecified: (The option /USE...son is unknown.:String) [], R
   emoteException
    + FullyQualifiedErrorId : NativeCommandError
    + PSComputerName        : OTHERMACHINE

The syntax of this command is:
NET LOCALGROUP
[groupname [/COMMENT:"text"]] [/DOMAIN]
              groupname {/ADD [/COMMENT:"text"] | /DELETE}  [/DOMAIN]
              groupname name [...] {/ADD | /DELETE} [/DOMAIN]
More help is available by typing NET HELPMSG 3506.

1 个答案:

答案 0 :(得分:0)

我认为这是双跳问题。如果您尝试在使用net localgroup administrators创建的会话中执行Enter-PSSession,则会收到相同的错误:"系统错误1312已发生。"和"指定的登录会话不存在。它可能已经被终止了。"

net.exe正在尝试重新验证,但它无法重用会话的凭据。您可能使用CredSSP取得了成功,这需要一些设置,IIRC可能会产生安全隐患。您必须enable CredSSP on the remote system and local system, and then delegate correctly。即便如此,我还是看到有关此工作的相互矛盾的报道。甚至可能security policies阻止它。

就个人而言,我根本不会使用net.exe。为了这么基本的东西而跳过太多的箍。你可以retrieve the members of a local group remotely via the ADSI provider,这可能更容易,也更有可能发挥作用。