Delen via


Unblock-File

Blokkering van bestanden die zijn gedownload van internet opheffen.

Syntaxis

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

Description

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

Met de cmdlet Unblock-File 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 is RemoteSigned. Deze bestanden worden standaard geblokkeerd om de computer te beschermen tegen niet-vertrouwde bestanden.

Voordat u de cmdlet Unblock-File 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 Zone.Identifier alternatieve gegevensstroom, die een waarde van 3 heeft om aan te geven dat deze is gedownload van internet.

Zie about_Execution_Policiesvoor 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 bestand PowerShellTips.chm 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 C:\Downloads waarvan de namen 'PowerShell' bevatten, opgeheven. 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 gebruikt de parameter Stream van de cmdlet Get-Item om bestanden op te halen 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 wordt RemoteSigned. Met het beleid RemoteSigned kunt u geen scripts uitvoeren die zijn gedownload van internet, tenzij ze digitaal zijn ondertekend.

De derde opdracht maakt gebruik van de Unblock-File cmdlet om de blokkering van het script op te heffen, 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

U wordt gevraagd om bevestiging voordat u de cmdlet uitvoert.

Type:SwitchParameter
Aliassen:cf
Position:Named
Default value:False
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-LiteralPath

Hiermee geeft u de bestanden op om de blokkering op te heffen. In tegenstelling tot Pad, wordt de waarde van de parameter LiteralPath exact 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[]
Aliassen:PSPath, LP
Position:Named
Default value:None
Vereist:True
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-Path

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

Type:String[]
Position:0
Default value:None
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:True

-WhatIf

Toont wat er zou gebeuren als de cmdlet wordt uitgevoerd. De cmdlet wordt niet uitgevoerd.

Type:SwitchParameter
Aliassen:wi
Position:Named
Default value:False
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren: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-File dezelfde bewerking uitvoert als de knop Deblokkeren in het dialoogvenster Eigenschappen in Verkenner.
  • Als u de cmdlet Unblock-File gebruikt voor een bestand dat niet wordt geblokkeerd, heeft de opdracht geen invloed op het geblokkeerde bestand en genereert de cmdlet geen fouten.