PowerShell(およびその他のプログラム)には、「管理者として実行」する機能があります。これをデフォルトにするために設定を変更できるレジストリはありますか?したがって、右クリックして「管理者として実行」する必要はありませんか?
3 に答える
レジストリ設定についてはわかりませんが、次のことができます。
- 右クリック
PowerShell
Shortcut
タブを選択しますAdvanced
ボタンをクリックします- 選択する
Run as Administrator
これにより、常に管理者として実行するようにショートカットが指示されます。これは、ほとんどのショートカットで実行できます。これの大きな利点は、2つのショートカットを作成できることです。1つは管理者モードで、もう1つは非管理者モードです。
最初に質問した読者は、PowerShellを使用してこのソリューションを調査しました。ご覧のとおり、\ Directory\shellの下に「runas」というフォルダが追加されています。
new-Item Registry::HKEY_CLASSES_ROOT\Directory\shell\runas -Force
new-ItemProperty Registry::HKEY_CLASSES_ROOT\Directory\shell\runas -Name "(default)" -Value "Open Command Prompt as Admin" -Type string -Force
new-ItemProperty Registry::HKEY_CLASSES_ROOT\Directory\shell\runas -Name "Icon" -Value "C:\\Windows\\System32\\imageres.dll,-78" -Type string -Force
new-Item Registry::HKEY_CLASSES_ROOT\Directory\shell\runas\command -Force
new-ItemProperty Registry::HKEY_CLASSES_ROOT\Directory\shell\runas\command -Name "(default)" -Value 'cmd.exe /k pushd %L' -type string -Force
UACを無効にします([コントロールパネル]→[ユーザーアカウント]→[ユーザーアカウント制御設定の変更])。
編集:どうやら何人かの人々はOPの要求の意味を完全に理解することができませんでした。
UACの唯一の目的は、ユーザーが常に管理者権限で実行しなくても、Administratorsグループのメンバーになることを許可することです。ログイン時に、2つのセキュリティトークンを受け取ります。1つは管理者権限を持つ(非アクティブ)、もう1つは通常のユーザー権限を持つ(アクティブ)です。このように、プログラムの管理者トークンをアクティブ化し、管理者権限で実行させるには、ユーザーの意識的な決定が必要です。
ここで、シェル(つまり、任意のコマンドを実行するように設計されたプログラム)を常に管理者権限で実行できるようにすると、この保護が削除されます。その時点から、ユーザーのコンテキストで実行されているものはすべて、管理者権限で任意のコードを実行できます。このような構成では、セキュリティについてさらに考えることは単なる自己妄想であるため、煩わしさをやめることもできます。