Dela via


Unblock-File

Avblockeras filer som har laddats ned från Internet.

Syntax

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

Description

Den här cmdleten fungerar bara på Windows- och macOS-plattformarna.

Med Unblock-File cmdleten kan du öppna filer som har laddats ned från Internet. Det avblockeras PowerShell-skriptfiler som har laddats ned från Internet så att du kan köra dem, även när PowerShell-körningsprincipen är RemoteSigned. Som standard blockeras dessa filer för att skydda datorn mot obetrodda filer.

Innan du använder cmdleten Unblock-File granskar du filen och dess källa och kontrollerar att den är säker att öppna.

Internt tar cmdleten Unblock-File bort den alternativa dataströmmen Zone.Identifier , som har värdet 3 för för att indikera att den har laddats ned från Internet.

Mer information om PowerShell-körningsprinciper finns i about_Execution_Policies.

Denna cmdlet introducerades i Windows PowerShell 3.0.

Exempel

Exempel 1: Avblockera en fil

Det här kommandot avblockera PowerShellTips.chm filen.

PS C:\> Unblock-File -Path C:\Users\User01\Documents\Downloads\PowerShellTips.chm

Exempel 2: Avblockera flera filer

Det här kommandot avblockera alla filer i C:\Downloads katalogen vars namn inkluderar "PowerShell". Kör inte ett kommando som det här förrän du har kontrollerat att alla filer är säkra.

PS C:\> dir C:\Downloads\*PowerShell* | Unblock-File

Exempel 3: Hitta och avblockera skript

Det här kommandot visar hur du hittar och avblockera PowerShell-skript.

Det första kommandot använder parametern Stream för get-item-cmdleten hämta filer med Zone.Identifier-dataströmmen.

Det andra kommandot visar vad som händer när du kör ett blockerat skript i en PowerShell-session där körningsprincipen är RemoteSigned. RemoteSigned-principen hindrar dig från att köra skript som laddas ned från Internet om de inte är digitalt signerade.

Det tredje kommandot använder cmdleten Unblock-File för att avblockera skriptet så att det kan köras i sessionen.

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

Parametrar

-Confirm

Uppmanar dig att bekräfta innan du kör cmdleten.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LiteralPath

Anger vilka filer som ska avblockeras. Till skillnad från Path används värdet för parametern LiteralPath exakt som det skrivs. Inga tecken tolkas som jokertecken. Om sökvägen innehåller escape-tecken omger du den med enkla citattecken ('). Enkla citattecken säger till PowerShell att inte tolka några tecken som escape-sekvenser.

Type:String[]
Aliases:PSPath, LP
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Path

Anger vilka filer som ska avblockeras. Jokertecken stöds.

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:True

-WhatIf

Visar vad som skulle hända om cmdleten kördes. Cmdleten körs inte.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Indata

String

Du kan skicka en filsökväg till den här cmdleten.

Utdata

None

Den här cmdleten returnerar inga utdata.

Kommentarer

  • Stöd för macOS har lagts till i PowerShell 7.
  • Cmdleten Unblock-File fungerar endast på filsystemenheter.
  • Unblock-Fileutför samma åtgärd som knappen Avblockera i dialogrutan Egenskaper i Utforskaren.
  • Om du använder cmdleten Unblock-File för en fil som inte är blockerad har kommandot ingen effekt på den avblockerade filen och cmdleten genererar inga fel.