在网络PC中搜索用户SID

时间:2014-06-27 14:04:13

标签: powershell powershell-v2.0 sid

我一直在研究如何在网络计算机上找到SID的位置,但到目前为止还没有。

我需要搜索我们的网络,并查询所有PC查找是否存在特定SID,并向我提供出现此用户SID的结果PC。

任何想法,因为我画了一个空白。

1 个答案:

答案 0 :(得分:0)

试试这个。获取用户名,转换为SID,然后在域中搜索注册表中该SID的所有计算机(用户必须登录,否则注册表项不存在)。

$User = "Username"
$SID = Get-ADUser -Identity $User | Select -ExpandProperty SID
$ComputerList = Get-ADComputer -Filter * | Select -ExpandProperty DNSHostName

foreach ($Computer in $ComputerList){
    if (Test-Connection -ComputerName $Computer -Quiet -Count 1) {
        $Reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('Users', $Computer)
        if ($Reg.OpenSubKey("$SID")) {
            Write-Output "$User found on $Computer."
        }
        else {
            Write-Output "$User not found on $Computer."
        }
    }
    else {
        Write-Output "$Computer unreachable."
    }
}