Sdílet prostřednictvím


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

String

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-Fileprovede 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.