Unblock-File

Blokkering van bestanden die zijn gedownload van internet opheffen.

Syntax

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

Description

Deze cmdlet werkt alleen op de Windows- en macOS-platforms.

Met de Unblock-File cmdlet kunt u bestanden openen die zijn gedownload van internet. Hiermee worden PowerShell-scriptbestanden gedeblokkeerd die zijn gedownload van internet, zodat u ze kunt uitvoeren, zelfs wanneer het PowerShell-uitvoeringsbeleid RemoteSigned is. Deze bestanden worden standaard geblokkeerd om de computer te beschermen tegen niet-vertrouwde bestanden.

Voordat u de Unblock-File cmdlet gebruikt, controleert u het bestand en de bron ervan en controleert u of het veilig is om te openen.

Intern verwijdert de Unblock-File cmdlet de alternatieve gegevensstroom Zone.Identifier , die een waarde heeft om 3 aan te geven dat deze is gedownload van internet.

Zie about_Execution_Policies voor meer informatie over PowerShell-uitvoeringsbeleid.

Deze cmdlet is geïntroduceerd in Windows PowerShell 3.0.

Voorbeelden

Voorbeeld 1: Een bestand deblokkeren

Met deze opdracht wordt het PowerShellTips.chm bestand gedeblokkeerd.

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

Voorbeeld 2: Meerdere bestanden deblokkeren

Met deze opdracht worden alle bestanden in de map gedeblokkeerd waarvan de C:\Downloads namen 'PowerShell' bevatten. Voer geen opdracht als deze uit totdat u hebt gecontroleerd of alle bestanden veilig zijn.

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

Voorbeeld 3: Scripts zoeken en deblokkeren

Met deze opdracht ziet u hoe u PowerShell-scripts kunt zoeken en deblokkeren.

De eerste opdracht maakt gebruik van de Stream-parameter van de Get-Item cmdlet get-bestanden met de Zone.Identifier-stream .

De tweede opdracht laat zien wat er gebeurt wanneer u een geblokkeerd script uitvoert in een PowerShell-sessie waarin het uitvoeringsbeleid RemoteSigned is. Het RemoteSigned-beleid voorkomt dat u scripts uitvoert die van internet worden gedownload, tenzij ze digitaal zijn ondertekend.

De derde opdracht gebruikt de Unblock-File cmdlet om het script te deblokkeren, zodat het kan worden uitgevoerd in de sessie.

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

Parameters

-Confirm

Hiermee wordt u gevraagd om bevestiging voordat u de cmdlet uitvoert.

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

-LiteralPath

Hiermee geeft u de bestanden op om de blokkering op te heffen. In tegenstelling tot Path wordt de waarde van de parameter LiteralPath precies gebruikt zoals deze is getypt. Er worden geen tekens geïnterpreteerd als jokertekens. Als het pad escapetekens bevat, plaatst u het tussen enkele aanhalingstekens ('). Enkele aanhalingstekens geven PowerShell aan dat er geen tekens als escapereeksen moeten worden geïnterpreteerd.

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

-Path

Hiermee geeft u de bestanden op om de blokkering op te heffen. Jokertekens worden ondersteund.

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

-WhatIf

Hiermee wordt weergegeven wat er zou gebeuren als u de cmdlet uitvoert. De cmdlet wordt niet uitgevoerd.

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

Invoerwaarden

String

U kunt een bestandspad naar deze cmdlet doorsluisen.

Uitvoerwaarden

None

Deze cmdlet retourneert geen uitvoer.

Notities

  • Ondersteuning voor macOS is toegevoegd in PowerShell 7.
  • De Unblock-File cmdlet werkt alleen in bestandssysteemstations.
  • Unblock-Filevoert dezelfde bewerking uit als de knop Blokkering opheffen in het dialoogvenster Eigenschappen in Bestandenverkenner.
  • Als u de Unblock-File cmdlet gebruikt voor een bestand dat niet wordt geblokkeerd, heeft de opdracht geen effect op het gedeblokkeerde bestand en genereert de cmdlet geen fouten.