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
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-File
utfö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.