WEBからダウンロードしたファイルのセキュリティブロックを解除する方法

WEBからダウンロードしたファイルはセキュリティブロックされており、「Microsoft Defender SmartScreen」の確認画面が表示されたりします。

このセキュリティブロックを解除するには、代替データストリームのZone.Identifierを削除する必要があります。

C#で解除する拡張メソッドを作成しました。
以下のUnblockメソッドを実行すると解除できます。


[DllImport("kernel32", CharSet = CharSet.Unicode, SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
private static extern bool DeleteFile(string name);

public static void Unblock(this FileInfo file) {
    file.IsReadOnly = false;
    DeleteFile(file.FullName + ":Zone.Identifier");
}

コメントを残す