Partager via


Unblock-File

Débloque les fichiers téléchargés à partir d’Internet.

Syntaxe

ByPath (Par défaut)

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

ByLiteralPath

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

Description

Cette applet de commande fonctionne uniquement sur les plateformes Windows et macOS.

L’applet de commande Unblock-File vous permet d’ouvrir des fichiers téléchargés à partir d’Internet. Il débloque les fichiers de script PowerShell téléchargés à partir d’Internet afin de pouvoir les exécuter, même lorsque la stratégie d’exécution de PowerShell est RemoteSigned. Par défaut, ces fichiers sont bloqués pour protéger l’ordinateur contre les fichiers non approuvés.

Avant d’utiliser l’applet de commande Unblock-File, passez en revue le fichier et sa source et vérifiez qu’il est sûr de s’ouvrir.

En interne, l’applet de commande Unblock-File supprime le flux de données de Zone.Identifier autre flux de données, qui a une valeur de 3 pour indiquer qu’il a été téléchargé à partir d’Internet.

Pour plus d’informations sur les stratégies d’exécution de PowerShell, consultez about_Execution_Policies.

Cette applet de commande a été introduite dans Windows PowerShell 3.0.

Exemples

Exemple 1 : Débloquer un fichier

Cette commande débloque le fichier PowerShellTips.chm.

PS C:\> Unblock-File -Path C:\Users\User01\Documents\Downloads\PowerShellTips.chm

Exemple 2 : Débloquer plusieurs fichiers

Cette commande débloque tous les fichiers du répertoire C:\Downloads dont les noms incluent « PowerShell ». N’exécutez pas de commande comme celle-ci tant que vous n’avez pas vérifié que tous les fichiers sont sécurisés.

PS C:\> dir C:\Downloads\*PowerShell* | Unblock-File

Exemple 3 : Rechercher et débloquer des scripts

Cette commande montre comment rechercher et débloquer des scripts PowerShell.

La première commande utilise le paramètre stream de l’applet de commande Get-Item obtenir des fichiers avec le flux Zone.Identifier.

La deuxième commande montre ce qui se passe lorsque vous exécutez un script bloqué dans une session PowerShell dans laquelle la stratégie d’exécution est RemoteSigned. La stratégie RemoteSigned vous empêche d’exécuter des scripts téléchargés à partir d’Internet, sauf s’ils sont signés numériquement.

La troisième commande utilise l’applet de commande Unblock-File pour débloquer le script afin qu’il puisse s’exécuter dans la session.

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

Paramètres

-Confirm

Vous invite à confirmer avant d’exécuter l’applet de commande.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:False
Prend en charge les caractères génériques:False
DontShow:False
Alias:cf

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-LiteralPath

Spécifie les fichiers à débloquer. Contrairement à Path, la valeur du paramètre LiteralPath est utilisée exactement comme il est typé. Aucun caractère n’est interprété en tant que caractère générique. Si le chemin inclut des caractères d’échappement, placez-le entre guillemets simples ('). Les guillemets simples indiquent à PowerShell de ne pas interpréter de caractères comme séquences d’échappement.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:PSPath, DP

Jeux de paramètres

ByLiteralPath
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False

-Path

Spécifie les fichiers à débloquer. Les caractères génériques sont pris en charge.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:True
DontShow:False

Jeux de paramètres

ByPath
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-WhatIf

Affiche ce qui se passerait si l’applet de commande s’exécute. L’applet de commande ne s’exécute pas.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:False
Prend en charge les caractères génériques:False
DontShow:False
Alias:Wi

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

CommonParameters

Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.

Entrées

String

Vous pouvez diriger un chemin d’accès de fichier vers cette applet de commande.

Sorties

None

Cette applet de commande ne retourne aucune sortie.

Notes

  • La prise en charge de macOS a été ajoutée dans PowerShell 7.
  • L’applet de commande Unblock-File fonctionne uniquement dans les lecteurs de système de fichiers.
  • Unblock-File effectue la même opération que le bouton Débloquer dans la boîte de dialogue Propriétés dans l’Explorateur de fichiers.
  • Si vous utilisez l’applet de commande Unblock-File sur un fichier qui n’est pas bloqué, la commande n’a aucun effet sur le fichier déblocé et l’applet de commande ne génère pas d’erreurs.