在非域服务器SERVER
上,我有一个本地管理员帐户USER
。
在域客户端计算机上,我以域用户身份运行。
使用以下代码,我尝试查看SERVER
上的所有服务
$cred = Get-Credential "SERVERUSER"
Invoke-Command -ComputerName SERVER -ScriptBlock {Get-Service} -Credential $cred
然而,我收到以下错误
无法打开计算机"."上的服务控制管理器。此操作可能需要其他权限。+CategoryInfo:NotSpecified:(:)[Get-Service],InvalidOperationException+FullyQualifiedErrorId:系统。InvalidOperationException,Microsoft。PowerShell。命令。GetServiceCommand
然而,如果我将SERVER
作为USER
进行RDP,我可以手动打开Powershell窗口并运行Get-Service
,而不会出现任何问题。怎么回事?
跨域远程处理时,远程命令/会话将不会以管理权限运行。即使您是以本地管理员身份进行连接,生成的PSSession也不会被提升。
要解决此问题,您需要将位于HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System中的注册表项LocalAccountTokenFilterPolicy设置为1。有关更多详细信息,请参阅Microsoft