因此,我正在编写一个脚本来检查SID是否为远程计算机上的本地用户/组。但我希望在没有远程计算机管理员访问权限的情况下执行此操作。
我可以使用“计算机管理”查看远程计算机的用户和组,而无需管理员访问权限。
ManagementObjectSearcher,Get-CimInstance,Get-WMIObject都需要我们的域上的管理员访问权限,并给我一个访问被拒绝。
如果没有PSExec,我无法远程使用net user | localgroup,这可能仍然需要管理员访问权限。
计算机管理使用什么来连接到其远程计算机?我似乎在谷歌上找不到答案。
或
如果没有远程计算机的管理员访问权限,我如何完成验证SID是否在远程计算机上的工作?(通过PowerShell)
发布于 2018-10-31 00:35:24
在做另一个项目的时候,我找到了这个问题的答案……ADSI或System.DirectoryServices.DirectoryEntry。我想说,这是一个很好的猜测,计算机管理使用这一点,PSGetSID也可以。下面是我使用的代码,以防有人想看它。
$Computer = 'Computer1'
$SID = 'S-1-5-21-1785707171-2823430725-1593205055-500'
[ADSI]$ADSI = "WinNT://$Computer"
$ADSI.Children |
Select-Object -Property `
@{Name='Name'; Expression={$_.Name.Value}},
@{Name='SID'; Expression={
(New-Object System.Security.Principal.SecurityIdentifier($_.objectsid.value,0)).Value
}
} |
Where-object -FilterScript { $_.SID -eq $SID }
https://stackoverflow.com/questions/53051455
复制相似问题