web-dev-qa-db-ja.com

PowerShellで管理者権限を取得する

私のWindows Vistaマシンには1つのアカウントしかなく、そのユーザーには管理者特権があります。しかし、PowerShell内でコマンドを実行して特定のプロセスを強制終了しようとすると、「アクセスが拒否されました」というメッセージが表示されます。管理者になるにはどうすればよいですか?

29
Brian

これを行う最も簡単な方法は、管理トークンを使用してPowershellを起動することです。これを行うには、Powershell(またはそのショートカット)を右クリックして、[管理者として実行]をクリックします。または、 elevate.cmd を使用できます。

14
Knox

Powershell v2の方法 Microsoftによる は、ショートカットを右クリックして管理者として実行を選択することです。

そして、Powershellウィンドウ内で昇格するには:

start-process powershell –verb runAs

Cmd.exeバッチファイル、ショートカット、または実行行から、次のようになります(繰り返し)。

powershell "start-process powershell -verb runas"
26
Nathan Hartley

これにより、新しい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')
}

これには問題があると思います。特に、スクリプトブロックの出力が呼び出し元のスクリプトで返されません。一方、新しいPSインスタンスに存在するので、そこでハッキングできます。

10
user2278

always管理者権限でPowerShellを実行する場合は、PowerShellショートカットを右クリックして、[ショートカット]タブの[詳細...]ボタンをクリックし、[管理者として実行]を選択します。 」.

5
Ryan Fisher

簡単な方法...

これは、PowerShellセッションからいつでも管理者権限を取得するための簡単なコマンドを設定する方法です!

ステップ1:PowerShellプロファイルを開きます。 (ファイルがない場合は、メモ帳でファイルを作成できるようにします。)

notepad "$profile"

手順2:次のコードをそのファイルの任意の場所に貼り付けます。 (実行するPowerShellのバージョンに基づいて選択します。プロファイルはバージョン固有であるため、PowerShellのバージョンを並行して実行すると、PowerShellのバージョンごとにこれを実行できます)。

# PowerShell 5
function GoAdmin { Start-Process PowerShell –Verb RunAs }

# PowerShell Core
function GoAdmin { Start-Process pwsh –Verb RunAs }

手順3:PowerShellを再起動します。コマンドが永続的に使用できるようになりました。

ステップ4:管理者になりたいときはいつでも、GoAdminと入力するだけです(大文字と小文字を正しく入力する必要はありません。PS関数は実際には大文字と小文字を区別しません)。もちろん、Elevateなどの関数に名前を付けることもできますが、競合のリスクを避けたいので、PowerShellの機能と競合しないように、ハイフンなしの2語のフレーズに名前を付けました。

管理者ウィンドウが別のシェルで開くことに注意してください。元のシェルを閉じるか、開いたままにすることができます。管理作業が環境変数の追加/変更などの「大きな」作業を行う場合、ユーザーシェル(非管理者)は単にrefreshenvと入力してその環境を再読み込みし、変更を取得できます。 (編集:refreshenvがすばらしい Chocolatey パッケージマネージャーによって提供されていることがわかりました。タイプUpdate-SessionEnvironmentチョコレートがない場合は、代わりに使用してください。)

したがって、基本的には、GoAdminだけで、パッケージのインストールなどの管理作業を行い( https://chocolatey.org/ はもちろん!)、管理ウィンドウを閉じて、ユーザーシェルでrefreshenvを実行します!出来上がり。

1
Mitch McMabers