【PowerShellで完全解決】Excelのセキュリティ警告を一括解除する究極の方法

PC操作

毎回出てくるExcelのセキュリティ警告、本当に面倒くさいな…

共有フォルダのファイルを開くたびに保護ビューの解除やマクロの有効化をしないといけないのが時間のムダ…

そのお悩み、PowerShellスクリプトで一発解決できます!

本記事の内容

・面倒な警告を一括解除する設定方法
・コピペだけで作れるPowerShellスクリプト
・セキュリティを保ちながらの安全な運用方法

パソコンが苦手な人からすると「PowerShellスクリプト」という単語がそもそも難しいかもしれませんが、詳細な手順と画像つきで解説していますのでご安心ください。

ぜひ最後まで記事を読んで、あなたもストレスフリーなExcel環境を手に入れましょう!

思っているより設定は簡単ですよ。

ご利用にあたってのご注意

本記事の内容や手順は、作業の効率化や利便性向上のための情報を提供するものです。

ご利用の際は、ご自身の責任において実施をお願いいたします。

不安がある場合や手順にご不明点がある場合は、無理に進めず、詳しい方にサポートをお願いすることもご検討ください。


また、事前にデータのバックアップや設定の確認を行うことで、万が一のリスクを軽減いただけます

安心して活用いただけるよう、お役に立てれば幸いです。

【完全解決】面倒なセキュリティ警告とはもうサヨナラ!PowerShellで一発設定

【完全解決】面倒なセキュリティ警告とはもうサヨナラ!PowerShellで一発設定

ネットからダウンロードしたExcelファイルを開くたびに表示されるセキュリティ警告。複数のファイルへの許可作業を毎回手動で行うのは面倒ですよね。

よくある3つの困りごと

ネット上のファイル共有ソフトを使用している場合、以下のような警告に悩まされることが多くないですか?

【保護ビューの解除】
ダウンロードしたExcelファイルを開くたびに黄色いバーで警告

【マクロの有効化】
VBAを含むファイルで毎回「コンテンツの有効化」を要求

【ブロック解除】
共有ソフトでダウンロードしたファイルに対する警告

これらの警告が表示される理由は、Windowsがインターネットからダウンロードしたファイルに「Zone Identifier」という属性を追加しているためです

セキュリティ上は重要な機能ですが、信頼できるファイルに対して毎回同じ操作を強いられるのは非効率ですよね。

PowerShellスクリプトを作成して最速で解決しましょう!

誰でもできる!PowerShellスクリプトの作り方

誰でもできる!PowerShellスクリプトの作り方

プログラミング未経験でも心配ありません。画面を見ながら一緒に設定していきましょう。

PowerShellって何?超わかりやすい基礎知識

PowerShellとは、Windowsに標準搭載されている自動化ツールのことです

Windows 10/11では、以下の2種類があります。

【Windows PowerShell(古いバージョン)】C:\Windows\System32\WindowsPowerShell\v1.0\

【PowerShell 7(新しいバージョン)】
C:\Program Files\PowerShell\7\

ゆうま
ゆうま

この違いで動作しなくなるため、手順通りにやってもうまくいかない時はバージョンを確認しましょう!

今回使用する主な機能は以下です。覚えてなくても問題ないので参考までに。

・Unblock-File:セキュリティブロックを解除するコマンド

・Get-ChildItem:フォルダ内のファイルを取得するコマンド

・ForEach-Object:ファイルを1つずつ処理するコマンド

・Write-Host:処理結果を画面に表示するコマンド

コピペでOK!設定用スクリプトの作成手順

作成手順
  • 手順①
    メモ帳を開き、以下のコードを貼り付ける
    PowerShell
    対象フォルダパス(共有フォルダのダウンロード先)
    $folderPath = "C:\path\to\your\folder"
    フォルダ内の全ファイルからZone Identifierを削除
    Get-ChildItem -Path $folderPath -Recurse | ForEach-Object {
    if (Unblock-File -Path $_.FullName) {
    Write-Host "Unblocked:" $_.FullName
    } else {
    Write-Host "Already Unblocked or Error:" $_.FullName
    }
    }
  • 手順②
    対象のフォルダパスを取得する(ファイルでも同じ)

    ・対象フォルダを「Shift+右クリック」
    ・メニューから「パスのコピー」を選択

    「パスのコピー」を選択

    ・コードの「$folderPath」に貼り付け(置き換え)

    コードの「$folderPath」に貼り付け(置き換え)
  • 手順③
    保存する時の注意点

    ・拡張子を必ず「.ps1」にする
    ・分かりやすい場所(デスクトップなど)に保存
    ・ファイル名に日本語を使用しない

この時点でスクリプトは完成しました!

アナログで実行する方法
  • 手順①
    作成したメモ帳の内容をコピー
  • 手順②
    PowerShellを管理者権限で開く

    パソコン画面左下の「スタート」→「Windows PowerShell」を探す

    パソコン画面左下の「スタート」→「Windows PowerShell」を探す

    「管理者として実行する」を選択

    「管理者として実行する」を選択
  • 手順③
    画面上で右クリックするとペーストされる
    画面上で右クリックするとペーストされる
  • 手順④
    実行完了を待つ

    コードがぶわーって書かれていき、止まったら完了です。対象フォルダやファイルのセキュリティ警告が解除されていることを確認してください

これで「セキュリティ警告を毎回手動で全部許可する」という面倒は解消できました

ゆうま
ゆうま

できたんですが……
私は「アナログでこのセットを毎回やること」すら面倒でw

そこで、スクリプトをもっと楽に実行するため方法を次で紹介します!

スクリプトを簡単に実行できるショートカットの作成方法

作成方法
  • 手順①
    ショートカットの作成

    ・ps1ファイルを右クリック
    ・「ショートカットの作成」を選択
    ・デスクトップに作成される

  • 手順②
    ショートカットの設定変更

    ・作成されたショートカットを右クリック
    ・「プロパティ」を選択
    ・「リンク先」を以下のように変更

    「リンク先」を以下のように変更
    PowerShell
    C:\Program Files\PowerShell\7\pwsh.exe -ExecutionPolicy Bypass -File "C:\Users\YourName\Desktop\UnblockFiles.ps1"

    「”C:\Users\YourName\Desktop\UnblockFiles.ps1″」の部分を、先ほど作成したps1ファイルのフルパスを取得して置き換えてください!

    「C:\Program Files\PowerShell\7\pwsh.exe」

    この部分が最初に説明した”バージョンの違い”で変わる部分です。うまくいかない場合は疑ってください!忘れちゃった方はこちら

  • 手順③
    重要な設定

    ・「詳細設定」をクリック
    ・「管理者として実行」にチェック
    ・「OK」をクリック

    設定が完了するとアイコンが変化します。

    設定が完了するとアイコンが変化

これで、ショートカットをダブルクリックするだけで、セキュリティ警告の自動処理が実行されるようになりました!

安全に使うための確認ポイント

安全に使うための確認ポイント

スクリプトを安全かつ効果的に使用するためのポイントを詳しく説明します。

ちゃんと動いてる?動作確認の方法

以下の手順で、確実な動作確認を行いましょう
  • 基本的な動作確認

    ・テスト用フォルダの作成
    ・異なる種類のファイル(Excel、Word、PowerPoint)をダウンロード
    ・作成したショートカットをダブルクリック
    ・PowerShell画面に表示される処理結果を確認

  • 詳細な確認項目

    ・処理済みファイルを開いてセキュリティ警告が表示されないことを確認
    ・ファイルの編集・保存が正常にできるか確認

  • 確認時の注意点

    ・テスト用フォルダには重要なファイルを入れない
    ・処理前にファイルのバックアップを作成
    ・複数回の実行テストを推奨

これだけ注意!セキュリティを保つコツ

セキュリティと利便性のバランスを保つための重要なポイントが以下。

重要なポイント
  • 基本的な注意事項

    ・処理対象フォルダを必要最小限に限定
    ・信頼できるソースからのファイルのみを対象
    ・重要なファイルは手動確認を推奨
    ・定期的なウイルススキャンの実施

  • フォルダ管理のコツ

    ・業務用と個人用のフォルダを分離
    ・機密情報を含むファイルは別フォルダで管理
    ・処理済みファイルの定期的なバックアップ
    ・アクセス権限の適切な設定

セキュリティ面での重要な注意点

このスクリプトを実行する前に、以下のポイントに注意してください!

注意点
  • 信頼性の確認

    Unblock-Fileを使用してセキュリティ警告を解除するファイルが、信頼できるソースからのものであることを確認してください。

    インターネットからダウンロードされたファイルにはリスクが潜んでいる可能性があるため、ウイルススキャンやファイルの出所確認を行うと安全です。

  • 実行ポリシー

    PowerShellスクリプトの実行には、PowerShellの実行ポリシー設定が影響します。

    特に「-ExecutionPolicy Bypass」を使用する場合は、他のスクリプトの実行も可能になるため、実行環境に応じた注意が必要です。

  • 管理者権限の確認

    このスクリプトをショートカット経由で実行する際に管理者権限が必要になります。

    制限のある環境や企業のPCで使用する場合、IT部門に相談し、適切な許可を得てから実行してください

もっと便利に!カスタマイズのコツ

もっと便利に!カスタマイズのコツ

基本設定をより使いやすくカスタマイズする方法を紹介します。

職場での安全な使用方法

職場のパソコンでPowerShellスクリプトを利用する際は、以下の安全対策を取りましょう

スクリプトを利用する前に
  • 事前の確認事項

    ・IT部門への使用許可申請
    ・セキュリティポリシーとの整合性確認
    ・上長への報告と承認取得
    ・使用範囲の明確な定義

  • 安全な運用方法

    ・処理対象を業務用フォルダに限定
    ・必要に応じてログ機能を追加して処理記録を保持
    ・設定内容を定期的に見直し、緊急時にスクリプトを無効化する手順を確認

複数のパソコンで同じ設定を使う方法

スクリプトを共有するための方法
  • 共有設定の作成

    ・スクリプトを共有フォルダに配置
    ・相対パスを使用して設定し、各PCでパスの差異がないようにする
    ・アクセス権限を適切に管理して重要なファイルを保護

  • 展開方法

    ・グループポリシーやログインスクリプトを使用して一括適用
    ・一括展開ツールを使用して簡単に複数のPCに反映

特定のファイルだけ設定したい場合の方法

目的に応じたカスタマイズコードの例
  • 特定の拡張子のみを処理
    PowerShell
    対象フォルダパス
    $folderPath = "your_folder_path"
    特定の拡張子のファイルのみ処理
    $extensions = @(".xlsx", ".xlsm", ".xls", ".docx", "*.pptx")
    foreach ($ext in $extensions) {
    Get-ChildItem -Path $folderPath -Filter $ext -Recurse | ForEach-Object {
    try {
    if (Unblock-File -Path $_.FullName) {
    Write-Host "成功: $($_.FullName)"
    }
    } catch {
    Write-Host "エラー: $($_.FullName)"
    }
    }
    }
  • 特定のファイルを除外
    PowerShell
    除外したいファイル名のパターン
    $excludePattern = @("社外秘", "機密", "backup*")
    Get-ChildItem -Path $folderPath -Recurse |
    Where-Object { $name = $_.Name; -not ($excludePattern | Where-Object { $name -like $_ })} |
    ForEach-Object {
    Unblock-File -Path $_.FullName
    }

困ったときのQ&A

困ったときのQ&A

実践的な質問と解決方法をまとめました。

「あれ?」というときの対処方法

よくあるトラブルとその解決方法
  • スクリプトが動作しない場合

    ・PowerShellのバージョン確認
    ・パスが正しく設定されているか確認
    ・管理者権限での実行を確認
    ・一時的にウイルス対策ソフトを停止して試行

  • エラーメッセージが表示される場合

    ・フォルダパスに日本語が含まれていないか確認
    ・パスにスペースが含まれる場合は””で囲む
    ・ファイル名に特殊文字が使われていないか確認
    ・システムの一時ファイルをクリーンアップ

よくある質問と解決方法

Q
PowerShell 7がインストールできない
A

Microsoft Storeにアクセスできない場合は、GitHub(https://github.com/PowerShell/PowerShell/releases)から直接ダウンロード可能です。

Q
特定のファイルだけ処理したい
A

-Filterパラメータを使用して特定のファイルのみを処理できます。例:Get-ChildItem -Filter “*.xlsx”

Q
処理に失敗するファイルがある
A

ファイルが使用中でないこと、適切なアクセス権限があることを確認してください。

設定がうまくいかないときの確認リスト

確認リスト
  • システム環境の確認

    ・PowerShellのバージョン
    ・Windowsのバージョン
    ・ユーザー権限のレベル
    ・システムの言語設定

  • ファイルシステムの確認

    ・フォルダのアクセス権限
    ・ファイル名の文字制限
    ・ディスク容量の余裕
    ・ファイルシステムの種類

専門家に相談する前に試してほしいこと

まずはコレ!
  • 基本的な対処

    ・PowerShellを最新版に更新
    ・スクリプトを新規作成し直す
    ・パスを手動でコピーし直す
    ・システムの再起動

  • 詳細なトラブルシューティング

    ・イベントログの確認
    ・エラーメッセージの完全な記録
    ・発生時の操作手順の記録
    ・環境変数の確認

  • システムの最適化

    ・不要なプログラムの終了
    ・ディスクのクリーンアップ
    ・システムの最新化
    ・一時ファイルの削除

まとめ

まとめ

PowerShellスクリプトを活用することで、Excelファイルのセキュリティ警告を完全に自動化できることをご紹介しました。

初心者でも導入できる方法なので、ぜひチャレンジしてみてください!

・コピペだけで作成可能なスクリプト
・1日30分の作業時間短縮を実現
・セキュリティと利便性の両立
・複数PCでの展開にも対応

まずは自分が頻繁に使用するフォルダから試してみることをおすすめします。

設定完了後は、毎回の警告作業から解放され、本来の業務に集中できるようになります。

PowerShellの基本を学ぶきっかけとしても最適なので、業務効率化の第一歩として、ぜひ今日から始めてみましょう!

著者プロフィール
この記事を書いた人

2024年10月から個人ブログを運営。本業で管理職をやる傍ら、趣味として会社に頼らずに生きるためのスキル磨きをしています。将来の夢は、家族と田舎で半自給自足しながらのんびり生きること。出社後1時間で仕事が終わるエクセルの使い方や、その他個人的なおススメなどを紹介していきます!

ゆうまをフォローする
PC操作
シェアする
ゆうまをフォローする
タイトルとURLをコピーしました