Ottenere i privilegi di amministratore in PowerShell


27

Ho solo un account sul mio computer con Windows Vista e quell'utente ha i privilegi di amministratore. Tuttavia, quando provo ad eseguire un comando in PowerShell per interrompere un determinato processo, sono accolto con un messaggio "Accesso negato". Come posso diventare amministratore?

Risposte:


14

Il modo più semplice per farlo è avviare Powershell con token di amministrazione. Per fare ciò, fai clic destro su Powershell (o un collegamento ad esso) e fai clic su "Esegui come amministratore". In alternativa puoi usare elevate.cmd .


25

Il modo Powershell v2, secondo Microsoft , è fare clic con il tasto destro del mouse sul collegamento e scegliere Esegui come amministratore .

E per elevare all'interno di una finestra Powershell:

start-process powershell verb runAs

Che da un file batch cmd.exe, un collegamento o una riga di esecuzione apparirebbe (ripetutamente) in questo modo:

powershell "start-process powershell -verb runas"

10

Questo apre una nuova istanza di 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')
}

Mi aspetto che ci siano problemi con questo - in particolare, non otterrai l'output del tuo scriptblock nello script chiamante. D'altra parte, sarà lì nella nuova istanza di PS in modo che tu possa hackerare lì.


5

Se si desidera eseguire sempre PowerShell con privilegi di amministratore, è possibile fare clic con il tasto destro del mouse sul collegamento PowerShell, quindi fare clic sul pulsante "Avanzate ..." nella scheda "Collegamento", quindi selezionare "Esegui come amministratore".


0

Il modo semplice ...

Ecco come impostare un comando semplice per ottenere i privilegi di amministratore in qualsiasi momento, da qualsiasi sessione di PowerShell!

Passaggio 1: apri il tuo profilo PowerShell. (Consenti al blocco note di creare il file se manca).

notepad "$profile"

Passaggio 2: incolla il seguente codice in qualsiasi punto del file.

function GoAdmin { start-process powershell verb runAs }

Passaggio 3: riavviare PowerShell. Il comando è ora disponibile in modo permanente.

Passaggio 4: Ogni volta che vuoi andare all'amministratore, digita semplicemente GoAdmin(e non preoccuparti di digitare il caso corretto; le funzioni PS in realtà non fanno distinzione tra maiuscole e minuscole). Ovviamente puoi nominare la funzione con qualcos'altro Elevateo qualunque cosa, ma non volevo alcun rischio di conflitti, quindi l'ho chiamata una frase di due parole senza trattini, per assicurarmi che non sia mai in conflitto con le funzionalità di PowerShell.

Si noti che la finestra dell'amministratore si apre in una shell separata. Puoi chiudere la shell originale o tenerla aperta. Se il tuo lavoro di amministratore fa qualcosa di "grande" come l'aggiunta / modifica di variabili d'ambiente, la tua shell utente (non amministratore) può semplicemente digitare refreshenvper ricaricare il suo ambiente e ottenere le modifiche.

Quindi, fondamentalmente, basta GoAdminfare cose da amministratore come installare pacchetti (con https://chocolatey.org/ ovviamente!), Quindi chiudere la finestra di amministrazione ed eseguire refreshenvnella shell dell'utente! Ecco.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.