PowerShell

PowerShellをバッチファイルから起動する方法|管理者権限チェック付きのサンプルつき

PowerShellをバッチファイルから起動する方法|管理者権限チェック付きのサンプルつきのアイキャッチ画像

はじめに

PowerShell のスクリプトを実行したいときに、「バッチファイルから起動したい」という場面は意外と多いです。
特に、PowerShell を触らないユーザーにも簡単に使ってもらいたい場合は、ダブルクリックで実行できる .bat のほうが便利ですよね。

本記事では、バッチファイルから PowerShell を起動する基本の方法から、管理者権限を自動でチェックして昇格してくれる実践的なバッチコードまで詳しく解説します。

サンプルとして、eth1-Switch-NetworkWithProxy.ps1 を呼び出す例で説明しています。

PowerShellで作る画像一括縮小ツール|GUI・ImageMagick対応・EXIF回転修正・WebP変換もできる実用スクリプトアイキャッチ

PowerShell

2025/12/9

PowerShellで作る画像一括縮小ツール|GUI・ImageMagick対応・EXIF回転修正・WebP変換もできる実用スクリプト

はじめに スマホやデジカメで撮影した写真は、1枚あたり5MB〜10MBになることも珍しくありません。 市販のツールやWebサービスもありますが、 EXIF回転が反映されず画像が横向きになる 一括処理が遅い WebPに変換したい GUIで簡単に使いたい 処理を途中で中断したい さらに高圧縮したい(ImageMagick利用) といったニーズを完全に満たすものはなかなかありません。 このツールでできること 本ツールは PowerShell の標準機能と ImageMagick を組み合わせた、高機能かつ実用性 ...

ReadMore

PowerShell でバックアップファイルを月別フォルダに自動整理するスクリプトを作った話|ログ付き・削除処理ありアイキャッチ

PowerShell

2025/12/5

PowerShell でバックアップファイルを月別フォルダに自動整理するスクリプトを作った話|ログ付き・削除処理あり

はじめに WordPress のバックアップ運用では、BackWPup や UpdraftPlus などのプラグインが生成する ZIP ファイルが日々蓄積されていきます。しかし、そのまま放置しているとバックアップフォルダが膨れ上がり、どのファイルがいつのものなのか分かりづらくなる…という問題が発生します。 そこで今回は、バックアップファイルを月別フォルダに自動振り分けし、コピー後に元ファイルを削除、さらにログも月別で保管する PowerShell スクリプトを開発しました。 今回開発した PowerShe ...

ReadMore

デジカメで撮影した写真・動画を日付で自動コピーする PowerShell スクリプトを作った話アイキャッチ

PowerShell

2025/12/4

デジカメで撮影した写真・動画を日付で自動コピーする PowerShell スクリプトを作った話

はじめに という場面はよくあります。 しかし、手作業でファイルを探したり、種類ごとに仕分けしたりするのはかなり面倒です。 そこで今回、ユーザーが入力した日付以降のファイルだけをコピーする PowerShell スクリプトを作成しました。コピー先フォルダの作成や、ファイル名の重複回避にも対応しているため、バックアップや整理作業が一気に楽になります。 今回作ったスクリプトでできること この PowerShell では、次のような処理が自動で行えます。 ユーザーが入力した日付(YYYYMMDD形式)以降に作成さ ...

ReadMore

【PowerShell】メニューからIPアドレスとプロキシ設定を切り替えるスクリプトを作った話のアイキャッチ

PowerShell

2025/12/4

【PowerShell】メニューからIPアドレスとプロキシ設定を切り替えるスクリプトを作った話

― 会社/自宅ネットワークをワンタッチ切り替え ― ノートPCを職場と自宅のどちらでも使っていると、ネットワーク設定の切り替えが地味に面倒です。 会社では固定IP必須+社内プロキシ必須 自宅では固定IPまたはDHCP+プロキシ不要 さらに場所によって IP・DNS・WINS の設定値も違う… こういう環境だと、毎回「ネットワークの詳細設定」を開いて手作業で変更しなければならず、結構なストレスになります。 そこで今回、メニューから選択するだけでネットワーク設定とプロキシ設定を一括切り替えできる PowerS ...

ReadMore

PowerShellをバッチファイルから起動する方法|管理者権限チェック付きのサンプルつきのアイキャッチ画像

PowerShell

2025/12/4

PowerShellをバッチファイルから起動する方法|管理者権限チェック付きのサンプルつき

はじめに PowerShell のスクリプトを実行したいときに、「バッチファイルから起動したい」という場面は意外と多いです。特に、PowerShell を触らないユーザーにも簡単に使ってもらいたい場合は、ダブルクリックで実行できる .bat のほうが便利ですよね。 本記事では、バッチファイルから PowerShell を起動する基本の方法から、管理者権限を自動でチェックして昇格してくれる実践的なバッチコードまで詳しく解説します。 サンプルとして、eth1-Switch-NetworkWithProxy.p ...

ReadMore

なぜバッチから PowerShell を起動するの?

バッチファイルを使って PowerShell を起動するメリットは、次のとおりです。

  • ダブルクリックするだけで、PowerShell の実行が完結する
  • 管理者実行が必要な処理も、自動で権限昇格できる
  • 古い環境でも動きやすく、ユーザーへの配布が簡単
  • bat → PowerShell → bat といった複合処理もしやすい

運用現場では、PowerShell は強力だが、ユーザーはバッチの方が慣れているというケースがよくあります。
そこで、バッチから PowerShell を呼び出す仕組みが役立ちます。

バッチから PowerShell を起動する最も簡単な方法

最小限の構文はこれだけです。

powershell -ExecutionPolicy Bypass -File "script.ps1"

よく使うオプション

  • -ExecutionPolicy Bypass
    → スクリプト実行ポリシーの影響を受けずに実行する
  • -File
    → 実行したい PowerShell ファイルを指定

また、バッチファイルと同じフォルダの .ps1 を呼びたい場合は %~dp0 を使います。

powershell -ExecutionPolicy Bypass -File "%~dp0script.ps1"

管理者権限が必要なスクリプトを実行したい

Windows11 UAC

PowerShell スクリプトによっては、管理者権限が必要なケースがあります。

  • レジストリを変更する
  • Windows の設定を変更する
  • システムフォルダへの書き込みを行う

バッチファイルをダブルクリックしただけでは、通常の権限で実行されてしまうため、エラーになったり、処理が正常に行われないことがあります。

そこで使いたいのが、「管理者権限を自動チェック → 権限昇格して再実行」する仕組みです。

管理者権限をチェックして PowerShell を起動するバッチ

以下が、管理者権限をチェックするバッチファイルです。

@echo off
powershell -Command "if (-not ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator)) { exit 1 }"
if %errorlevel% NEQ 0 (
    echo 管理者権限が必要です。再実行します...
    powershell -Command "Start-Process powershell.exe -ArgumentList '-ExecutionPolicy Bypass -File \"%~dp0eth1-Switch-NetworkWithProxy.ps1\"' -Verb RunAs"
    exit /b
)

powershell -ExecutionPolicy Bypass -File "%~dp0eth1-Switch-NetworkWithProxy.ps1"

① PowerShell で「管理者かどうか」をチェックする

powershell -Command "if (-not ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator)) { exit 1 }"

この1行で、「今のバッチは管理者権限で動いているか?」を PowerShell でチェックします。

  • 管理者 → 正常終了
  • 管理者でない → exit 1 を返す

バッチ側では、この終了コードを %errorlevel% として受け取ります。

② 管理者でなければ、自動で管理者権限で再実行する

Windows11 UAC
if %errorlevel% NEQ 0 (
    echo 管理者権限が必要です。再実行します...
    powershell -Command "Start-Process powershell.exe -ArgumentList '-ExecutionPolicy Bypass -File \"%~dp0eth1-Switch-NetworkWithProxy.ps1\"' -Verb RunAs"
    exit /b
)

ここでは -Verb RunAs を使って、UACダイアログ付きで管理者 PowerShell を起動しています。

ユーザーが「はい」を押せば、PowerShell が管理者権限で実行され、スクリプトが動きます。

③ 管理者であれば、そのまま PowerShell を実行

powershell -ExecutionPolicy Bypass -File "%~dp0eth1-Switch-NetworkWithProxy.ps1"

再起動ではなく、普通に実行する処理です。

ポイントは「無限ループしない仕組みになっている」ことです。

  • 通常起動 → 権限チェック → NG → 管理者で PowerShell 起動
  • 管理者 PowerShell 内のスクリプトが実行され、バッチは終了
  • ループせず1回で完了

よくあるトラブルと対処法

「このスクリプトは実行できません」と表示される

→ 実行ポリシーが制限されている可能性があるため、-ExecutionPolicy Bypass を付けて実行しましょう。

パスにスペースがあると動かない

" " で囲みます。
→ 特に %~dp0 と組み合わせるときは必須です。

管理者として再起動されない

.bat をネットワークドライブから実行していないかを確認します。
→ UNC パスでは UAC による制限で昇格できない場合あります。

まとめ

  • バッチから PowerShell を起動するには powershell -File を使う
  • 実行ポリシー対策には -ExecutionPolicy Bypass が便利
  • 管理者権限チェックを組み合わせれば、ユーザー操作なしで安全に実行できる
  • %~dp0 を使えば、同じフォルダの PowerShell を確実に呼び出せる

バッチで PowerShell を起動できるようにしておくと、ユーザーに配布するスクリプトや、社内運用スクリプトの管理がとても楽になります。

PowerShellで作る画像一括縮小ツール|GUI・ImageMagick対応・EXIF回転修正・WebP変換もできる実用スクリプトアイキャッチ

PowerShell

2025/12/9

PowerShellで作る画像一括縮小ツール|GUI・ImageMagick対応・EXIF回転修正・WebP変換もできる実用スクリプト

はじめに スマホやデジカメで撮影した写真は、1枚あたり5MB〜10MBになることも珍しくありません。 市販のツールやWebサービスもありますが、 EXIF回転が反映されず画像が横向きになる 一括処理が遅い WebPに変換したい GUIで簡単に使いたい 処理を途中で中断したい さらに高圧縮したい(ImageMagick利用) といったニーズを完全に満たすものはなかなかありません。 このツールでできること 本ツールは PowerShell の標準機能と ImageMagick を組み合わせた、高機能かつ実用性 ...

ReadMore

PowerShell でバックアップファイルを月別フォルダに自動整理するスクリプトを作った話|ログ付き・削除処理ありアイキャッチ

PowerShell

2025/12/5

PowerShell でバックアップファイルを月別フォルダに自動整理するスクリプトを作った話|ログ付き・削除処理あり

はじめに WordPress のバックアップ運用では、BackWPup や UpdraftPlus などのプラグインが生成する ZIP ファイルが日々蓄積されていきます。しかし、そのまま放置しているとバックアップフォルダが膨れ上がり、どのファイルがいつのものなのか分かりづらくなる…という問題が発生します。 そこで今回は、バックアップファイルを月別フォルダに自動振り分けし、コピー後に元ファイルを削除、さらにログも月別で保管する PowerShell スクリプトを開発しました。 今回開発した PowerShe ...

ReadMore

デジカメで撮影した写真・動画を日付で自動コピーする PowerShell スクリプトを作った話アイキャッチ

PowerShell

2025/12/4

デジカメで撮影した写真・動画を日付で自動コピーする PowerShell スクリプトを作った話

はじめに という場面はよくあります。 しかし、手作業でファイルを探したり、種類ごとに仕分けしたりするのはかなり面倒です。 そこで今回、ユーザーが入力した日付以降のファイルだけをコピーする PowerShell スクリプトを作成しました。コピー先フォルダの作成や、ファイル名の重複回避にも対応しているため、バックアップや整理作業が一気に楽になります。 今回作ったスクリプトでできること この PowerShell では、次のような処理が自動で行えます。 ユーザーが入力した日付(YYYYMMDD形式)以降に作成さ ...

ReadMore

【PowerShell】メニューからIPアドレスとプロキシ設定を切り替えるスクリプトを作った話のアイキャッチ

PowerShell

2025/12/4

【PowerShell】メニューからIPアドレスとプロキシ設定を切り替えるスクリプトを作った話

― 会社/自宅ネットワークをワンタッチ切り替え ― ノートPCを職場と自宅のどちらでも使っていると、ネットワーク設定の切り替えが地味に面倒です。 会社では固定IP必須+社内プロキシ必須 自宅では固定IPまたはDHCP+プロキシ不要 さらに場所によって IP・DNS・WINS の設定値も違う… こういう環境だと、毎回「ネットワークの詳細設定」を開いて手作業で変更しなければならず、結構なストレスになります。 そこで今回、メニューから選択するだけでネットワーク設定とプロキシ設定を一括切り替えできる PowerS ...

ReadMore

PowerShellをバッチファイルから起動する方法|管理者権限チェック付きのサンプルつきのアイキャッチ画像

PowerShell

2025/12/4

PowerShellをバッチファイルから起動する方法|管理者権限チェック付きのサンプルつき

はじめに PowerShell のスクリプトを実行したいときに、「バッチファイルから起動したい」という場面は意外と多いです。特に、PowerShell を触らないユーザーにも簡単に使ってもらいたい場合は、ダブルクリックで実行できる .bat のほうが便利ですよね。 本記事では、バッチファイルから PowerShell を起動する基本の方法から、管理者権限を自動でチェックして昇格してくれる実践的なバッチコードまで詳しく解説します。 サンプルとして、eth1-Switch-NetworkWithProxy.p ...

ReadMore

【改訂新版】 Windows PowerShell ポケットリファレンス

PowerShell の基本コマンドから応用スクリプトまで、すぐ動くサンプルで学べる実践書です。
ファイル操作・条件分岐・ループ・エラーハンドリングなど、“実際に手を動かす” ことで理解が進みます。
PowerShell の基礎力と応用力を同時に高めたい人におすすめです。

おすすめポイント:

  • 動作するサンプルが豊富で理解が早い
  • 自動化に必要な基礎文法〜実践スクリプトを広くカバー
  • 初級者から中級者へのステップアップに最適

Rakuten

Amazon

Yahoo!ショッピング

  • この記事を書いた人
  • 最新記事
プロフィール用アイコン

かじ

社内SEとして15年以上、IT企画とシステム開発を担当してきました。
ガジェット好きで、実務で得たITノウハウをわかりやすく発信しています。

★…社内SE歴 15年以上
★…IT企画・開発・業務改善を経験
★…PowerShellやサーバ運用など技術記事を更新中

現場で役立つITノウハウ×ガジェットレビューを中心に更新しています。

-PowerShell
-,