Istnieją różne sposoby uruchamiania polecenia jako inny użytkownik w PowerShell. Ten artykuł pokaże ci, jak to zrobić, w tej samej sesji Powershell.

Czasami zdarzyło się, że potrzebowałeś przetestować coś w kontekście innego użytkownika niż administrator lub obecnie zalogowany.

start powershell -credential ""

Pozwala na uruchomienie nowej sesji powershell, a następnie zostaniesz zapytany poświadczenie z którymi ma zostać uruchomiona sesja.

Po wprowadzeniu Nazwy użytkownika i hasła, wszystkie wykonywane polecenia będą w kontekście wcześniej wprowadzonego użytkownika.

$username = 'admin'
$password = 'password'
$securePassword = ConvertTo-SecureString $password -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential $username, $securePassword
Start-Process powershell.exe -Credential $credential

Jeżeli byśmy chcieli użyć w skrypcie możemy skorzystać z powyższego kodu i otworzyć dowolny proces ze wskazanymi przez nas poświadczeniami.
Zmieniając powershell.exe na np notepad.exe możemy otworzyć notatnik w kontekście zdefiniowanego w kodzie użytkownika.

Dodaj komentarz