Freigeben über


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 Plattformen Windows und macOS.

Mit Unblock-File dem Cmdlet können Sie Dateien öffnen, die aus dem Internet heruntergeladen wurden. Es hebt die Blockierung von PowerShell-Skriptdateien auf, die aus dem Internet heruntergeladen wurden, sodass Sie sie auch dann ausführen können, wenn die PowerShell-Ausführungsrichtlinie RemoteSigned lautet. 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 ihre Quelle, und vergewissern Sie sich, dass sie sicher geöffnet werden kann.

Intern entfernt das Unblock-File Cmdlet den alternativen Datenstrom Zone.Identifier , der den Wert hat 3 , um 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

Dieser Befehl hebt die Blockierung aller Dateien im C:\Downloads Verzeichnis auf, 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 die Blockierung aufheben.

Der erste Befehl verwendet den parameter Stream des Get-Item-Cmdlets get files with the Zone.Identifier stream.

Der zweite Befehl zeigt, was geschieht, wenn Sie ein blockiertes Skript in einer PowerShell-Sitzung ausführen, in der die Ausführungsrichtlinie RemoteSigned lautet. Die RemoteSigned-Richtlinie verhindert, dass Sie Skripts ausführen, 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.

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

-LiteralPath

Gibt die Dateien an, deren Blockierung aufgehoben werden soll. Im Gegensatz zu Path wird der Wert des LiteralPath-Parameters genauso verwendet, wie er eingegeben wurde. 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.

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

-Path

Gibt die Dateien an, deren Blockierung aufgehoben werden soll. Platzhalterzeichen werden unterstützt.

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

-WhatIf

Zeigt, was geschieht, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.

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

Eingaben

String

Sie können einen Dateipfad an dieses Cmdlet übergeben.

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-Fileführt den gleichen 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.