Rozpocznij proces podniesiony z PowerShell
PowerShell to zaawansowana forma wiersza polecenia. Jest rozszerzony o ogromny zestaw gotowych do użycia poleceń cmdlet i umożliwia korzystanie z .NET framework/C# w różnych scenariuszach. Dzisiaj pokażę ci, jak uruchomić proces podniesiony z wiersza PowerShell.
Wcześniej omówiłem, jak to samo może być zrobione z pliku wsadowego. Jednak dzięki Aktualizacji twórców systemu Windows 10 firma Microsoft zamierza zmniejszyć nacisk na wiersz poleceń i promować wszędzie PowerShell. Zobacz te artykuły w celach informacyjnych:
- Windows 10 build 14986 zastępuje wszędzie wiersz polecenia PowerShell
- Dodaj wiersz polecenia z powrotem do menu Win + X w Aktualizacji twórców systemu Windows 10
- Dodaj wiersz polecenia do menu kontekstowego w aktualizacji Windows 10 Creators
- Usuń tutaj okno Open PowerShell z menu kontekstowego w systemie Windows 10
Warto więc nauczyć się tej przydatnej sztuczki, którą można wykonać z konsoli PowerShell i zaoszczędzić czas.
Rozpocznij proces podniesiony z PowerShell
Do tego zadania użyjemy polecenia cmdlet Start-Process. Obsługuje
liczba opcji, jednym z nich jest -Czasownik. Jeśli określisz -Verb jako "RunAs", proces, który zamierzasz uruchomić, zostanie otwarty z podwyższonym poziomem uprawnień.Spróbujmy uruchomić aplikację Notatnik z podwyższonym poziomem uprawnień.
- Otwórz PowerShell.
- Wpisz lub skopiuj i wklej następujące polecenie:
Start-Process „notepad.exe” – czasownik RunAs
- Pojawi się monit UAC. Potwierdź to:
- Aplikacja Notatnik zostanie otwarta podniesiona.
Możesz to zapewnić za pomocą Menedżera zadań. Zobacz artykuł: Jak sprawdzić, czy proces działa jako administrator (podwyższony) w systemie Windows?
Uwaga: Jeśli naciśniesz przycisk „Nie” w monicie UAC, konsola PowerShell wyświetli komunikat o błędzie „Operacja została anulowana przez użytkownika”. To jest oczekiwane.
Porada: Możesz uruchomić aplikację z podwyższonym poziomem uprawnień bezpośrednio za pomocą programu PowerShell, bez uprzedniego otwierania jej konsoli. Na przykład możesz utworzyć skrót lub wpisać następujące polecenie w oknie dialogowym Uruchom:
powershell.exe -Polecenie "Start-Process Notepad.exe -Verb RunAs"
Wynik będzie taki sam. Okno Powershell będzie migać przez chwilę, a następnie aplikacja zostanie otwarta podniesiona.
Rozpocznij proces podniesiony za pomocą argumentów z PowerShell
Jeśli chcesz przekazać niektóre argumenty (nazywane również przełącznikami lub parametrami) do procesu, który chcesz uruchomić z poziomu PowerShell, użyj przełącznika -Argument polecenia cmdlet Start-Process. Podany tam argument zostanie przekazany do docelowego pliku wykonywalnego. Oto zmodyfikowane przykłady z Notepad.exe, których użyłem powyżej.
W przypadku konsoli PowerShell użyj następującego polecenia:
Start-Process "notepad.exe" -Argument "C:\My Stuff\my file.txt" -Verb RunAs
Ujmij ścieżki, które mają spacje w cudzysłowie. Jeśli potrzebujesz przekazać więcej niż więcej argumentów, oddziel je przecinkami i użyj ArgumentList:
Start-Process "file.exe" -ArgumentList "argument1, argument2, argument3" -Verb RunAs
Z poziomu PowerShell możesz użyć następującego polecenia:
powershell.exe -Command "Start-Process 'Notepad.exe' -Argument 'C:\My Stuff\my file.txt' -Verb RunAs"
Jeszcze inny przykład:
powershell -Command "Start-Process powershell.exe -ArgumentList '-ExecutionPolicy Bypass -NoExit -Command \""Komputer punktu kontrolnego -Opis \"RestorePoint1\" -RestorePointType \"MODIFY_SETTINGS\"\`"' -Czasownik Uruchom jako"
Zobacz artykuł, aby uzyskać więcej informacji: Utwórz punkt przywracania w systemie Windows 10 za pomocą PowerShell
Ujmij ścieżki w pojedyncze cudzysłowy, jak pokazano powyżej.
Otóż to.