Zdobywanie uprawnień administratora w PowerShell

27

Mam tylko jedno konto na moim komputerze z systemem Windows Vista i ten użytkownik ma uprawnienia administracyjne. Jednak gdy próbuję wykonać polecenie w programie PowerShell w celu zabicia określonego procesu, pojawia się komunikat „Odmowa dostępu”. Jak zostać administratorem?

Brian
źródło

Odpowiedzi:

14

Najprostszym sposobem na to jest uruchomienie Powershell z tokenami administracyjnymi. Aby to zrobić, kliknij prawym przyciskiem myszy PowerShell (lub skrót do niego) i kliknij „Uruchom jako administrator”. Alternatywnie możesz użyć elevate.cmd .

Knox
źródło
25

Według Microsofta Powershell v2 polega na kliknięciu skrótu prawym przyciskiem myszy i wybraniu opcji Uruchom jako administrator .

Aby podnieść w oknie PowerShell:

start-process powershell verb runAs

Który z pliku wsadowego cmd.exe, skrótu lub wiersza Uruchom wyglądałby (powtarzalnie) w następujący sposób:

powershell "start-process powershell -verb runas"
Nathan Hartley
źródło
10

Spowoduje to otwarcie nowej instancji PowerShell:

function Run-Elevated ($scriptblock)
{
  # TODO: make -NoExit a parameter
  # TODO: just open PS (no -Command parameter) if $scriptblock -eq ''
  $sh = new-object -com 'Shell.Application'
  $sh.ShellExecute('powershell', "-NoExit -Command $scriptblock", '', 'runas')
}

Oczekuję, że występują z tym problemy - w szczególności nie dostaniesz z powrotem danych wyjściowych bloku skryptowego w skrypcie wywołującym. Z drugiej strony będzie tam w nowej instancji PS, więc możesz się tam włamać.

użytkownik2278
źródło
5

Jeśli chcesz zawsze uruchamiać PowerShell z uprawnieniami administratora, możesz kliknąć prawym przyciskiem myszy skrót PowerShell, a następnie kliknąć przycisk „Zaawansowane ...” na karcie „Skrót”, a następnie wybrać „Uruchom jako administrator”.

Ryan Fisher
źródło
0

Łatwa droga...

Oto jak skonfigurować proste polecenie uzyskiwania uprawnień administratora w dowolnym momencie, z dowolnej sesji PowerShell!

Krok 1: Otwórz swój profil PowerShell. (Zezwól notatnikowi na utworzenie pliku, jeśli go brakuje).

notepad "$profile"

Krok 2: Wklej następujący kod w dowolnym miejscu tego pliku.

function GoAdmin { start-process powershell verb runAs }

Krok 3: Uruchom ponownie PowerShell. Polecenie jest teraz stale dostępne.

Krok 4: Za każdym razem, gdy chcesz przejść do administratora, po prostu wpisz GoAdmin(i nie martw się o wpisanie poprawnej wielkości liter; funkcje PS nie uwzględniają wielkości liter). Możesz oczywiście nazwać tę funkcję czymś innym Elevatelub czymkolwiek, ale nie chciałem ryzykować konfliktów, dlatego nazwałem ją frazą składającą się z dwóch słów, bez myślników, aby mieć pewność, że nigdy nie będzie kolidować z własnymi funkcjami programu PowerShell.

Zauważ, że okno administratora otwiera się w osobnej powłoce. Możesz zamknąć oryginalną powłokę lub pozostawić ją otwartą. Jeśli praca administratora wykonuje coś „dużego”, na przykład dodawanie / modyfikowanie zmiennych środowiskowych, wówczas powłoka użytkownika (nie będąca administratorem) może po prostu wpisać, refreshenvaby ponownie załadować swoje środowisko i uzyskać zmiany.

Zasadniczo, po prostu GoAdminrób rzeczy administracyjne, takie jak instalowanie pakietów ( oczywiście z https://chocolatey.org/ !), A następnie zamknij okno administratora i uruchom refreshenvw swojej powłoce użytkownika! Voila

Mitch McMabers
źródło