因此,我正在编写脚本来检查SID是否是远程计算机上的本地用户/组。但是我想这样做,而无需具有对远程计算机的管理员访问权限。
我可以使用计算机管理来查看没有管理员访问权限的远程计算机的用户和组。
ManagementObjectSearcher,Get-CimInstance和Get-WMIObject均需要我们域上的管理员访问权限,并拒绝我访问。
我不能使用网络用户|无需PSExec即可远程本地组,这可能仍需要管理员权限。
计算机管理使用什么来连接到其远程计算机?我似乎在Google上找不到答案。
或
如何在没有管理员访问该计算机的情况下完成SID是否在远程计算机上的本地验证? (通过PowerShell)
答案 0 :(得分:0)
在进行另一个项目时,我找到了答案……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 }