PowerShell を使用してファイルのブロックを解除する

Marion Paul Kenneth Mendoza 2023年6月21日
PowerShell を使用してファイルのブロックを解除する

Windows ベースのオペレーティング システムを使用している場合、次のメッセージが表示されることがあります。

This file came from another computer and might be blocked to help protect this computer.

たとえば、インターネットからダウンロードしたファイルを開こうとすると、警告が表示されることがあります。 この記事では、PowerShell を使用してインターネットからダウンロードしたファイルのブロックを解除して許可する方法について説明します。

PowerShell を使用してファイルのブロックを解除する

この記事では、PowerShell 3.0 で導入された PowerShell ネイティブ コマンドレット Unblock-File を使用します。

Unblock-File コマンドレットを使用すると、インターネットからダウンロードしたファイルを開くことができます。 さらに、インターネットからダウンロードした Windows PowerShell スクリプト ファイルのブロックを解除して、Windows PowerShell 実行ポリシーが RemoteSigned に設定されている場合でも実行できるようにします。

これらのファイルは、信頼できないファイルからコンピューターを保護するために、デフォルトでブロックされています。

基本的な構文:

Unblock-File [-Path*] <String[]> [-Confirm] [-WhatIf] [<CommonParameters>]

内部的に、Unblock-File コマンドレットは Zone.Identifier 代替データ ストリームを削除します。これは、インターネットからダウンロードしたことを示す 3 の値を持っています。 Windows PowerShell 実行ポリシーの詳細については、about_Execution_Policies を参照してください。

パラメーター

Unblock-File コマンドレットで使用できるパラメーターの一部を次に示します。

  • -Confirm: このパラメーターは、コマンドレットを実行する前に確認を求めます。

  • -LiteralPath: ブロックを解除するファイルを指定します。 Path とは異なり、LiteralPath パラメーターの値は入力されたとおりに使用されます。 ワイルドカードとして解釈される文字はありません。

    パスにエスケープ文字が含まれている場合は、一重引用符で囲みます。 単一引用符は、文字をエスケープ シーケンスとして解釈しないように Windows PowerShell に指示します。

  • -Path: ブロックを解除するファイルを指定します。 ワイルドカード文字がサポートされています。

  • -WhatIf: コマンドレットを実行するとどうなるかを示します。 コマンドレットは実行されません。

ブロックされたファイルのファイル パスを指定して、Unblock-File コマンドレットを使用できます。

Unblock-File -Path C:\Downloads\SampleFile.exe

主に、プロセスを自動化するか、一括処理する必要があるため、PowerShell を使用しています。 パイプラインで Unblock-File コマンドを使用できるため、フォルダー内のすべてのコンテンツを照会した後に、このコマンドを使用できます。

クエリが実行されると、Unblock-File コマンドですべてのファイルが処理されます。

dir -Path "C:\Downloads" -Recurse | Unblock-File

さらに、Unblock-File コマンドレットは、ファイル システム ドライブでのみ機能します。 Unblock-File コマンドレットは、ファイル エクスプローラーの [プロパティ] ダイアログ ボックスの [ブロック解除] ボタンと同じ操作を実行します。

したがって、ブロックされていないファイルで Unblock-File コマンドレットを使用しても、コマンドはブロックされていないファイルに影響を与えず、コマンドレットはエラーを生成しません。

Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

関連記事 - PowerShell File