我可以在远程计算机上成功使用NET USE
和NET 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.
答案 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,这可能更容易,也更有可能发挥作用。