\r\n\r\n
PowerShellは日常の多くの作業に便利ですが、セキュリティを考慮して特定の機能に手を加える必要がある場合、どのように機能を定義すれば強化する必要があるのでしょうか。本日のスーパーユーザーQ&Aは、読者の皆様から寄せられた質問にお答えします。
本日のQ&Aセッションは、コミュニティ主導のQ&Aサイト群であるStack Exchangeの分派であるSuperUserの提供によるものです。
Superuserの読者であるVlastimil氏は、ブーストが必要なPowerShell関数を定義する方法を知りたがっています:。
Linuxのsudo昇格コマンドに代わるものが見つからないので、以下の質問をさせていただきます。Windows 8.1 Pro、64ビットシステムでUACプロンプトを有効にするように、昇格を必要とするPowerShell関数を定義するにはどうすればよいですか?例えば、次のような関数を実行したとします。
以下のような結果で。
はっきり言って、PowerShellを「ユーザー」として実行し、前述の関数system-checkを実行する場合、コマンドを実行できるように昇格させたい(UACプロンプトを表示させたい)のです。
昇格が必要なPowerShell関数はどのように定義すればよいですか?
スーパーユーザーコントリビューターのアシュトンさんが、その答えを提示してくれました。
昇格ウィンドウから特定のコマンドを実行する場合。
例えば、こんな感じです。
特定のスクリプトを昇格ウィンドウから実行する場合。
UACを促すPowerShellセッション全体を実行するには。
現在のウィンドウが昇格許可で動作しているかどうか$Trueまたは$Falseを返す関数です。
スクリプトがAdminとしてのみ実行されるようにするには、冒頭に次のように追加します。
PowerShell v4.0では、#Requiresステートメントを使うことで上記を簡略化することができます。
出典:Run with Elevated Permissi*** [SS64.com].
何か補足することはありますか?コメント欄でご意見をお聞かせください。他の技術に精通したStack Exchangeユーザーからもっと答えを知りたいですか?ディスカッションスレッドの全文はこちらでご確認ください。