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