Unblock-File
Hebt die Blockierung von Dateien auf, die aus dem Internet heruntergeladen wurden.
Syntax
Unblock-File
[-Path] <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Unblock-File
-LiteralPath <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Beschreibung
Dieses Cmdlet funktioniert nur auf den Windows- und macOS-Plattformen.
Mit dem Cmdlet Unblock-File
können Sie Dateien öffnen, die aus dem Internet heruntergeladen wurden. Es entsperrt PowerShell-Skriptdateien, die aus dem Internet heruntergeladen wurden, damit Sie sie ausführen können, auch wenn die PowerShell-Ausführungsrichtlinie RemoteSigned-ist. Standardmäßig werden diese Dateien blockiert, um den Computer vor nicht vertrauenswürdigen Dateien zu schützen.
Bevor Sie das Cmdlet Unblock-File
verwenden, überprüfen Sie die Datei und deren Quelle, und stellen Sie sicher, dass sie geöffnet werden kann.
Intern entfernt das cmdlet Unblock-File
den Zone.Identifier alternativen Datenstrom, der einen Wert von 3
aufweist, um anzugeben, dass es aus dem Internet heruntergeladen wurde.
Weitere Informationen zu PowerShell-Ausführungsrichtlinien finden Sie unter about_Execution_Policies.
Dieses Cmdlet wurde in Windows PowerShell 3.0 eingeführt.
Beispiele
Beispiel 1: Aufheben der Blockierung einer Datei
Mit diesem Befehl wird die Blockierung der PowerShellTips.chm
Datei aufgehoben.
PS C:\> Unblock-File -Path C:\Users\User01\Documents\Downloads\PowerShellTips.chm
Beispiel 2: Aufheben der Blockierung mehrerer Dateien
Mit diesem Befehl werden alle Dateien im C:\Downloads
Verzeichnis aufgehoben, deren Namen "PowerShell" enthalten. Führen Sie einen Befehl wie diesen erst aus, wenn Sie überprüft haben, ob alle Dateien sicher sind.
PS C:\> dir C:\Downloads\*PowerShell* | Unblock-File
Beispiel 3: Suchen und Aufheben der Blockierung von Skripts
Dieser Befehl zeigt, wie Sie PowerShell-Skripts suchen und aufheben.
Der erste Befehl verwendet den parameter Stream des Cmdlets Get-Item Abrufen von Dateien mit dem Zone.Identifier Stream.
Der zweite Befehl zeigt, was passiert, wenn Sie ein blockiertes Skript in einer PowerShell-Sitzung ausführen, in der die Ausführungsrichtlinie RemoteSigned-ist. Die richtlinie RemoteSigned verhindert, dass Sie Skripts ausführen, die aus dem Internet heruntergeladen werden, es sei denn, sie sind digital signiert.
Der dritte Befehl verwendet das cmdlet Unblock-File
, um die Blockierung des Skripts aufzuheben, damit es in der Sitzung ausgeführt werden kann.
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
Parameter
-Confirm
Fordert Sie vor dem Ausführen des Cmdlets zur Bestätigung auf.
Typ: | SwitchParameter |
Aliase: | cf |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-LiteralPath
Gibt die zu entsperrenden Dateien an. Im Gegensatz zu Pathwird der Wert des LiteralPath--Parameters genau so verwendet, wie er eingegeben wird. Es werden keine Zeichen als Wildcards interpretiert. Wenn der Pfad Escapezeichen enthält, schließen Sie ihn in einfache Anführungszeichen ('
) ein. Einfache Anführungszeichen weisen PowerShell an, keine Zeichen als Escapesequenzen zu interpretieren.
Typ: | String[] |
Aliase: | PSPath, LP |
Position: | Named |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-Path
Gibt die zu entsperrenden Dateien an. Wildcardzeichen werden unterstützt.
Typ: | String[] |
Position: | 0 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | True |
-WhatIf
Zeigt, was passiert, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.
Typ: | SwitchParameter |
Aliase: | wi |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Eingaben
Sie können einen Dateipfad an dieses Cmdlet weiterleiten.
Ausgaben
None
Dieses Cmdlet gibt keine Ausgabe zurück.
Hinweise
- Unterstützung für macOS wurde in PowerShell 7 hinzugefügt.
- Das Cmdlet
Unblock-File
funktioniert nur auf Dateisystemlaufwerken. -
Unblock-File
führt den gleichen Vorgang wie die Schaltfläche Aufheben der Blockierung im Dialogfeld Eigenschaften im Datei-Explorer aus. - Wenn Sie das Cmdlet
Unblock-File
für eine Datei verwenden, die nicht blockiert ist, hat der Befehl keine Auswirkungen auf die nicht blockierte Datei, und das Cmdlet generiert keine Fehler.