Запрос удаленного пользователя SAM

#windows #powershell #user-accounts

#Windows #powershell #учетные записи пользователей

Вопрос:

Я пытаюсь запросить информацию о пользователе из локальной базы данных SAM в удаленном окне Windows. У меня отлично проработан синтаксис для локального вызова, но для удаленного вызова я просто не могу найти правильный синтаксис для подключения к удаленной системе.

 Add-Type -AssemblyName System.DirectoryServices.AccountManagement;
$ct = [System.DirectoryServices.AccountManagement.ContextType]::Machine;
$User = [System.DirectoryServices.AccountManagement.UserPrincipal]::FindByIdentity($ct, "sean");
$User;
  

Код C # для удаленного подключения находится здесь:

     PrincipalContext insPrincipalContext = new PrincipalContext(ContextType.Machine,"TAMERO", 
                                       "administrator","password");
  

Кажется, я просто не могу получить правильный синтаксис для PS.
Кто-нибудь делал это раньше?

Комментарии:

1. вы пробовали Get-LocalUser ? вы можете запустить это в Invoke-Command вызове, чтобы запустить его в удаленных системах.

Ответ №1:

Для вызова PrincipalContext конструктора в PowerShell вы должны использовать специальный new() статический метод:

 #...
$principalContext = [System.DirectoryServices.AccountManagement.PrincipalContext]::new($ct, "Computername", "Username", "Password")
$User = [System.DirectoryServices.AccountManagement.UserPrincipal]::FindByIdentity($principalContext, "targetSAMAccountName")