Comp Mgmt против PowerShell - PullRequest
       7

Comp Mgmt против PowerShell

0 голосов
/ 29 октября 2018

Итак, я пишу скрипт, чтобы проверить, является ли SID локальным пользователем / группой на удаленной машине. Но я хочу сделать это, не имея доступа администратора к удаленной машине.

Я могу использовать Управление компьютером для просмотра пользователей и групп удаленного компьютера без прав администратора.

ManagementObjectSearcher, Get-CimInstance, Get-WMIObject - все требуют административного доступа к нашему домену и дают мне доступ запрещен.

Я не могу использовать net user | Локальная группа удаленно без PSExec, который может по-прежнему требовать административного доступа.

Что использует Computer Management для подключения к своим удаленным компьютерам? Я не могу найти ответ на Google.

Или

Как выполнить проверку, является ли SID локальным на удаленной машине без доступа администратора к этой машине? (через PowerShell)

1 Ответ

0 голосов
/ 30 октября 2018

Во время работы над другим проектом я нашел ответ на этот вопрос ... ADSI или System.DirectoryServices.DirectoryEntry. Я бы сказал, что это хорошее предположение, что Computer Management использует это, чтобы сделать это, и 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 }
...