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


27

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

回答:


14

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


25

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

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

start-process powershell verb runAs

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

powershell "start-process powershell -verb runas"

10

これにより、新しい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インスタンスにあるので、そこでハッキングできます。


5

あなたがしたい場合は、必ず管理者privelegesでPowerShellを実行して、あなたはその後、その後、「ショートカット」タブの「詳細設定」ボタンをクリックして「管理者として実行」を選択し、PowerShellのショートカットを右クリックすることができます。


0

簡単な方法...

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

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

notepad "$profile"

手順2:次のコードをそのファイルの任意の場所に貼り付けます。

function GoAdmin { start-process powershell verb runAs }

ステップ3:PowerShellを再起動します。これで、コマンドは永続的に使用可能になりました。

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

管理者ウィンドウが別のシェルで開くことに注意してください。元のシェルを閉じるか、開いたままにすることができます。管理者の作業が環境変数の追加/変更などの「大きな」ことを行う場合、ユーザーシェル(非管理者)は単純に入力refreshenvして環境をリロードし、変更を取得できます。

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.