Unblock-File
Odblokuje soubory, které byly staženy z internetu.
Syntaxe
Unblock-File
[-Path] <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Unblock-File
-LiteralPath <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Tato rutina funguje jenom na platformách Windows a macOS.
Rutina Unblock-File
umožňuje otevírat soubory, které byly staženy z internetu. Odblokuje soubory skriptů PowerShellu, které byly staženy z internetu, abyste je mohli spustit, i když je zásada spouštění PowerShellu remoteSigned. Ve výchozím nastavení jsou tyto soubory zablokované kvůli ochraně počítače před nedůvěryhodnými soubory.
Před použitím rutiny Unblock-File
zkontrolujte soubor a jeho zdroj a ověřte, že je bezpečné ho otevřít.
Rutina interně Unblock-File
odebere alternativní datový proud Zone.Identifier , který má hodnotu 3
označující, že byla stažena z internetu.
Další informace o zásadách spouštění PowerShellu najdete v tématu about_Execution_Policies.
Tato rutina byla zavedena ve Windows PowerShellu 3.0.
Příklady
Příklad 1: Odblokování souboru
Tento příkaz odblokuje PowerShellTips.chm
soubor.
PS C:\> Unblock-File -Path C:\Users\User01\Documents\Downloads\PowerShellTips.chm
Příklad 2: Odblokování více souborů
Tento příkaz odblokuje všechny soubory v C:\Downloads
adresáři, jejichž názvy zahrnují "PowerShell". Nespustíte příkaz podobný tomuto, dokud neověříte, že jsou všechny soubory v bezpečí.
PS C:\> dir C:\Downloads\*PowerShell* | Unblock-File
Příklad 3: Vyhledání a odblokování skriptů
Tento příkaz ukazuje, jak najít a odblokovat skripty PowerShellu.
První příkaz používá parametr Stream rutiny Get-Item get soubory se streamem Zone.Identifier .
Druhý příkaz ukazuje, co se stane, když spustíte blokovaný skript v relaci PowerShellu, ve které je zásada spouštění RemoteSigned. Zásady RemoteSigned vám brání ve spouštění skriptů stažených z internetu, pokud nejsou digitálně podepsané.
Třetí příkaz pomocí rutiny Unblock-File
odblokuje skript, aby se mohl spustit v relaci.
PS C:\> Get-Item * -Stream "Zone.Identifier" -ErrorAction SilentlyContinue
FileName: C:\ps-test\Start-ActivityTracker.ps1
Stream Length
------ ------
Zone.Identifier 26
PS C:\> C:\ps-test\Start-ActivityTracker.ps1
c:\ps-test\Start-ActivityTracker.ps1 : File c:\ps-test\Start-ActivityTracker.ps1 cannot
be loaded. The file c:\ps-test\Start-ActivityTracker.ps1 is not digitally signed. The script
will not execute on the system. For more information, see about_Execution_Policies.
At line:1 char:1
+ c:\ps-test\Start-ActivityTracker.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : SecurityError: (:) [], PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
PS C:\> Get-Item C:\ps-test\Start-ActivityTracker.ps1 | Unblock-File
Parametry
-Confirm
Před spuštěním rutiny zobrazí výzvu k potvrzení.
Typ: | SwitchParameter |
Aliasy: | cf |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-LiteralPath
Určuje soubory, které se mají odblokovat. Na rozdíl od cesty se hodnota parametru LiteralPath používá přesně tak, jak je zadána. Žádné znaky nejsou interpretovány jako zástupné znaky. Pokud cesta obsahuje řídicí znaky, uzavřete ji do jednoduchých uvozovek ('
). Jednoduché uvozovky říkají PowerShellu, aby nepřekládaly žádné znaky jako řídicí sekvence.
Typ: | String[] |
Aliasy: | PSPath, LP |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-Path
Určuje soubory, které se mají odblokovat. Podporují se zástupné znaky.
Typ: | String[] |
Position: | 0 |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | True |
-WhatIf
Zobrazuje, co by se stalo při spuštění rutiny. Rutina není spuštěna.
Typ: | SwitchParameter |
Aliasy: | wi |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
Vstupy
Cestu k souboru můžete připojit k této rutině.
Výstupy
None
Tato rutina nevrátí žádný výstup.
Poznámky
- Podpora pro macOS byla přidána v PowerShellu 7.
- Rutina
Unblock-File
funguje jenom na jednotkách systému souborů. Unblock-File
provede stejnou operaci jako tlačítko Odblokovat v dialogovém okně Vlastnosti v Průzkumník souborů.- Pokud rutinu
Unblock-File
použijete u souboru, který není blokovaný, příkaz nemá žádný vliv na odblokovaný soubor a rutina negeneruje chyby.