PowerShell

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

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

はじめに

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

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

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

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でHEICをJPGに一括変換するスクリプトのアイキャッチ

PowerShell

2025/12/4

【Windowsで簡単変換】PowerShellでHEICをJPGに一括変換するスクリプトを作ったので紹介します

はじめに iPhone で撮った写真は標準で HEIC(HEIF)形式になっています。ファイルサイズが小さくて便利なのですが、Windows の古いアプリやブログサービスによっては JPG の方が扱いやすいことがあります。 今回は、Windows に標準で入っている WIC(Windows Imaging Component)を使って HEIC → JPG へ変換する PowerShell スクリプトを作ったのでご紹介します。 フォルダ内の HEIC をまとめて JPEG 化 画質(Quality)を自由 ...

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

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でHEICをJPGに一括変換するスクリプトのアイキャッチ

PowerShell

2025/12/4

【Windowsで簡単変換】PowerShellでHEICをJPGに一括変換するスクリプトを作ったので紹介します

はじめに iPhone で撮った写真は標準で HEIC(HEIF)形式になっています。ファイルサイズが小さくて便利なのですが、Windows の古いアプリやブログサービスによっては JPG の方が扱いやすいことがあります。 今回は、Windows に標準で入っている WIC(Windows Imaging Component)を使って HEIC → JPG へ変換する PowerShell スクリプトを作ったのでご紹介します。 フォルダ内の HEIC をまとめて JPEG 化 画質(Quality)を自由 ...

ReadMore

Windows PowerShell実践システム管理ガイド 第3版 商品画像

Windows PowerShell実践システム管理ガイド 第3版

Windows 管理者向けに、PowerShell を実務レベルで使いこなすための決定版です。
ユーザー管理・ログ取得・運用自動化など、現場で役立つスクリプトが満載です。
本格的な管理業務に踏み込む人に最適な1冊です。

おすすめポイント:

  • Active Directory・運用管理などリアルな業務内容に直結
  • スクリプト作例が豊富でそのまま仕事に活かせる
  • 初級〜中級を抜け、実務エンジニアとして成長できる内容

Rakuten

Amazon

Yahoo!ショッピング

  • この記事を書いた人
  • 最新記事

かじ

くまyyの管理人:かじ。 社内SEとして13年勤務、システム企画・開発をしているIT屋さん。 ガジェット好きなので最新ガジェットを追いかけるのが好き。 プログラミングなど自分の知識と経験をいろんな人に役立ってもらえるように記事を更新します!

-PowerShell
-,