如果我成功使用 Invoke-Command,是否意味着我也拥有 RDP 访问权限?

如果我成功使用 Invoke-Command,是否意味着我也拥有 RDP 访问权限?

我正在像这样使用 Invoke-Command:

Invoke-Command @parameters

凭证如下:

$credentials = Get-Credential 

以及如下参数:

$parameters = @{
  ComputerName      = "myHost"
  Credential        = $credentials
  ScriptBlock       = { some code here }
}

如果我能成功执行代码我的主机使用我提供的凭据,这是否也意味着我可以 100% 保证我可以使用相同凭据使用 RDP (mstsc.exe) 登录?最后,我想检查是否可以使用 Powershell 在 myHost 上使用 RDP 登录。

答案1

Invoke-Command需要PSRemoting在远程计算机上启用。默认情况下,域管理员和本地管理员组能够运行远程命令。可以单独添加不属于这些组的其他用户/服务帐户。可以通过以管理员身份打开 Windows Powershell 会话并输入和添加其Set-PSSessionConfiguration -Name Microsoft.PowerShell -ShowSecurityDescriptorUI -Force帐户来添加用户以运行远程命令。

Remote Desktop要求将用户添加到Remote Desktop Users组或加入Local/Domain Administrators组。

回答您的具体问题,通常情况下,如果您可以成功运行Invoke-Command,您也可以使用远程桌面,但并非总是如此。

您可以检查Administrators组和Remote Desktop Users正在使用的组Invoke-Command,看看您使用的帐户是否列在其中。这将迭代并列出本地计算机上的组和这些组的成员。

$credentials = Get-Credential
Invoke-Command -Computer "MyRemotePCName" -Credential $credentials -ScriptBlock { Get-LocalGroupMember -group "Administrators"; Get-LocalGroupMember -group "Remote Desktop Users" }

相关内容