- ベストアンサー
PoweShellで簡単にコマンドラインを管理・起動する方法
- PoweShellでDismコマンドを管理・起動する際に面倒なコマンドラインの記憶や入力を手抜きする方法を紹介します。
- デスクトップ上にショートカットを作成してダブルクリックで起動する、バッチファイルを作成して同様に起動するなど、簡単な方法があります。
- さらに、起動時に処理名の表示や終了時に終了メッセージの表示も可能です。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
文字化けの件は解決したということなので管理者権限の件。 コマンドライン(バッチ)上から次のようにすると、管理者権限でPowerShellを起動できるとのこと。 > powershell -NoProfile -ExecutionPolicy unrestricted -Command "Start-Process powershell.exe -Verb runas" あるいは管理者権限で指定コマンドを実行 > powershell -command "Start-Process -Verb runas (実行コマンド)" ただしスクリプトまで一気に実行しようというのがイマイチうまくいきません。 オプションを並べ替えたり、PowerShellスクリプトをファイルじゃなくてダブルクォートでくくって直接コマンドラインに書いてみたりしたんですが? まあどのみちUAC確認ダイアログの [はい(Y)] ボタンを押さなければいけないので、右クリックから管理者実行とあまり変わらないのかも…。 (UACダイアログ操作をキーボードでやるなら [←], Enter が早いですかね。) とりあえず情報まで。
その他の回答 (3)
- ganbaro
- ベストアンサー率45% (43/94)
今までに、powershellで操作したことがあれば、管理者で起動して上矢印(↑)を押せば、その前に利用したコマンドが表示されます 何度か押すと該当のコマンドが表示されて、そこでリタンを押せばいかがでしょう
お礼
レスありがとうございます。 >管理者で起動して上矢印(↑)を押せば、その前に利用したコマンドが表示されます そう言う、履歴を呼び出す機能が有るのですね。 大変参考になります。
- asciiz
- ベストアンサー率70% (6825/9705)
コマンドラインで実行するものなら、バッチ化できますよ。 まず、PowerShell用のコマンドラインを1つのテキストファイルに保存します。 既定の拡張子は ~.ps1 だそうなので、メモ帳等で書いた後、拡張子を変えておきます。 (仮に PS.ps1 を作ったとします) それを、適当なところにフォルダを作って、置いてください。 (たとえば、C:\PSfile というフォルダを作って、そこに PS.ps1 を置いたとします) そしてそれを呼び出すバッチファイルを、次のように書きます。 ---- psCall.bat ---- powershell -NoProfile -ExecutionPolicy Unrestricted C:\PSfile\PS.ps1 @echo ○○を実行しました。何かキーを押すと画面を閉じます @pause >nul ---- ここまで ---- ※終了メッセージをわざわざecho表示して、pauseメッセージをnulリダイレクトしているのは、pauseの自動メッセージ「続行するには何かキーを押してください . . .」というのがあまりに不適切だという、気分の問題です。 さて、普通のPowerShellスクリプトならダブルクリック実行でいいんですが、管理者権限が必要とのこと。 このバッチファイルを右クリックして、「管理者として実行」から、実行してみてください。 実は、「管理者として実行」をした場合、カレントディレクトリがバッチのあるフォルダではなく C:\Windows\System32 になってしまうようなので、PS.ps1 の場所を絶対指定しました。 たぶんこれでいけると思います。
お礼
レスありがとうございます。 教えていただいた方法でbatを作成してPowerShell用のコマンドラインを処理できるようになりました。 当初の問題は、応解決しましたが少しバッチ処理で問題が出ています。 現在、batに下記の記載があります。 @echo ここに日本語の文字列(1) @echo ここに日本語の文字列(2) 当事者権限でbatを起動させると ここに日本語の文字列(1),(2)が全て文字化けしてしまいます。 正常に読めるようにはなりませんか? (全て英文のアルファベットにすれば文字化けしません。) -------------------------------- それと、batを管理者権限を指定して立ち上げなくても (バッチファイルを右クリックして、「管理者として実行」から、実行ではなく) バッチ処理内に管理者権限を指定するコマンドを組み込むことは可能でしょうか ?
補足
お騒がせしましたが、 文字化けする原因がわかりました。 batファイルの文字コードをShift-JISで保存していませんでした。 文字コードを変換してSAVEにbatを管理者権限で起動させて文字化けしないのを確認しました。
- nerimaok
- ベストアンサー率34% (1125/3221)
powershell -NoProfile -ExecutionPolicy Unrestricted .\hogehoge.ps1 https://qiita.com/tomoko523/items/df8e384d32a377381ef9
補足
ありがとうございます。 ネット情報で下記のようなバッチを作成して 処理するバッチ(含むPowerShell)を呼び出すようにすると 管理者権限でBatが起動できるような事が合ったのですが 実際は上手くいきません。 Administrator_rights.bat powershell start-process 処理バッチ名.bat -verb runas --------------------- 処理バッチのショートカットを作成して プロパティ>ショートカット>詳細設定>管理者として実行にチェック この方法でUAC確認ダイアログの [はい(Y)] ボタンを押さなけれ最終起動はしませんが 処理自体は上手くいきました。 これが、一番簡単なようです。 ---------------------------