如何使用 PowerShell 解鎖文件

如何使用 PowerShell 解鎖文件

如果我們使用基於 Windows 的操作系統,您可能會遇到以下消息:

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

例如,當您嘗試打開從互聯網下載的文件時,可能會彈出警告。本文將討論如何使用 PowerShell 解鎖和允許從互聯網下載的文件。

使用 PowerShell 解鎖文件

在本文中,我們將使用 PowerShell 原生 cmdlet Unblock-File,該命令在 PowerShell 3.0 中引入。

Unblock-File cmdlet 讓我們打開從互聯網下載的文件。此外,它還解鎖從互聯網下載的 Windows PowerShell 腳本文件,以便我們可以運行它們,即使 Windows PowerShell 執行策略設置為 RemoteSigned

這些文件默認被阻止,以保護計算機不受不信任文件的影響。

基本語法:

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

內部來說,Unblock-File cmdlet 刪除 Zone.Identifier 替代數據流,其值為 3,表示我們是從互聯網下載的。有關 Windows PowerShell 執行策略的更多信息,請參閱 about_Execution_Policies

參數

以下是我們可以與 Unblock-File cmdlet 一起使用的一些參數:

  • -Confirm:此參數提示您在運行 cmdlet 之前進行確認。

  • -LiteralPath:指定要解鎖的文件。與 Path 不同,LiteralPath 參數的值使用原始輸入;沒有字符被解釋為通配符。

    如果路徑包含轉義字符,請將其用單引號括起來。單引號告訴 Windows PowerShell 不要將字符解釋為轉義序列。

  • -Path:指定要解鎖的文件。支持通配符。

  • -WhatIf:這會顯示如果運行 cmdlet 會發生什麼情況。該 cmdlet 不會被運行。

範例

我們可以通過指定被阻止文件的路徑來使用 Unblock-File cmdlet:

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

主要是因為我們需要自動化流程或批量處理,所以我們使用 PowerShell。由於我們可以在管道中使用 Unblock-File 命令,因此在查詢文件夾中的所有內容後,我們可以在管道中使用該命令。

一旦查詢,我們將在 Unblock-File 命令中處理所有文件。

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

此外,Unblock-File cmdlet 僅在文件系統驅動器中工作。Unblock-File cmdlet 執行與文件資源管理器中的屬性對話框中的“解鎖”按鈕相同的操作。

因此,如果您在未被阻止的文件上使用 Unblock-File cmdlet,該命令不會影響未被阻止的文件,且該 cmdlet 不會生成錯誤。

Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe
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