/ / Jak zdefiniować funkcję PowerShell, która wymaga podniesienia?

Jak zdefiniować funkcję PowerShell, która wymaga podniesienia?

PowerShell może być bardzo przydatny w wielu przypadkachcodzienne zadania, ale jeśli chcesz ulepszyć niektóre funkcje z myślą o bezpieczeństwie, to jak zdefiniujesz funkcję, która wymaga podniesienia? Dzisiejszy post SuperUser Q&A zawiera odpowiedź na ciekawe pytanie czytelnika.

Dzisiejsza sesja pytań i odpowiedzi przychodzi do nas dzięki uprzejmości SuperUser - podgrupy Stack Exchange, grupy stron z pytaniami i odpowiedziami kierowanych przez społeczność.

Pytanie

Czytnik SuperUser Vlastimil chce wiedzieć, jak zdefiniować funkcję PowerShell, która wymaga podniesienia uprawnień:

Ponieważ nie mogę znaleźć alternatywy dla Linuksa sudo polecenie wysokości, mam następujące pytanie. Jak zdefiniować funkcję PowerShell, która wymaga podniesienia uprawnień, tak jak podczas aktywacji monitu UAC w moim 64-bitowym systemie Windows 8.1 Pro? Powiedzmy, że uruchamiam następującą funkcję:

Z następującymi wynikami:

Aby być całkowicie jasnym, jeśli uruchomię PowerShell jako „użytkownik”, uruchom powyższą funkcję sprawdzanie systemu, Chcę, aby funkcja podniosła się, aby móc wykonać polecenie (chcę, aby pojawił się monit UAC).

Jak zdefiniować funkcję PowerShell, która wymaga podniesienia uprawnień?

Odpowiedź

Współtwórca SuperUser, Ashton, ma dla nas odpowiedź:

Aby uruchomić określone polecenie z okna z podwyższonym poziomem uprawnień:

Na przykład:

Aby uruchomić określony skrypt z okna z podwyższonym poziomem uprawnień:

Aby uruchomić całą sesję PowerShell, która monituje UAC:

Funkcja do powrotu $ Prawda lub $ Fałsz jeśli bieżące okno działa z podwyższonymi uprawnieniami:

Aby skrypt działał tylko jako administrator, dodaj go na początku:

W PowerShell v4.0 powyższe można uprościć za pomocą a # Wymaga komunikat:

Źródło: Uruchom z podwyższonymi uprawnieniami [SS64.com]


Masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych zaawansowanych użytkowników Stack Exchange? Sprawdź pełny wątek dyskusji tutaj.