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 Unblock-File
Cmdlet 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 Unblock-File
Cmdlet verwenden, überprüfen Sie die Datei und deren Quelle, und stellen Sie sicher, dass sie geöffnet werden kann.
Intern entfernt das Unblock-File
Cmdlet den alternativen Datenstrom Zone.Identifier , der einen Wert aufweist, um 3
anzugeben, dass er 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 keinen Befehl wie diesen aus, bis Sie sichergestellt haben, dass 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 Stream-Parameter des Get-Item-Cmdlets zum 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 RemoteSigned-Richtlinie verhindert, dass Skripts ausgeführt werden, die aus dem Internet heruntergeladen werden, es sei denn, sie sind digital signiert.
Der dritte Befehl verwendet das Unblock-File
Cmdlet, 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
Hiermit werden Sie vor der Ausführung des Cmdlets zur Bestätigung aufgefordert.
Typ: | SwitchParameter |
Aliase: | cf |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-LiteralPath
Gibt die Dateien an, deren Blockierung aufgehoben werden soll. Im Gegensatz zu Path wird der Wert des LiteralPath-Parameters genau so verwendet, wie er eingegeben wird. Es werden keine Zeichen als Platzhalter 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 Dateien an, deren Blockierung aufgehoben werden soll. Platzhalterzeichen werden unterstützt.
Typ: | String[] |
Position: | 0 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | True |
-WhatIf
Zeigt, was geschieht, 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
Unblock-File
Cmdlet funktioniert nur auf Dateisystemlaufwerken. Unblock-File
führt denselben Vorgang wie die Schaltfläche "Blockierung aufheben" im Dialogfeld "Eigenschaften" in Explorer aus.- Wenn Sie das
Unblock-File
Cmdlet 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.