Unblock-File
Débloque les fichiers téléchargés à partir d’Internet.
Syntaxe
Unblock-File
[-Path] <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Unblock-File
-LiteralPath <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
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 qui ont été 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, examinez 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 remplacement Zone.Identifier, qui a la valeur « 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
PS C:\> Unblock-File -Path C:\Users\User01\Documents\Downloads\PowerShellTips.chm
Cette commande débloque le fichier PowerShellTips.chm.
Exemple 2 : Débloquer plusieurs fichiers
PS C:\> dir C:\Downloads\*PowerShell* | Unblock-File
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.
Exemple 3 : Rechercher et débloquer des scripts
The first command uses the *Stream* parameter of the Get-Item cmdlet get files with the Zone.Identifier stream.Although you could pipe the output directly to the **Unblock-File** cmdlet (Get-Item * -Stream "Zone.Identifier" -ErrorAction SilentlyContinue | ForEach {Unblock-File $_.FileName}), it is prudent to review the file and confirm that it is safe before unblocking.
PS C:\> Get-Item * -Stream "Zone.Identifier" -ErrorAction SilentlyContinue
FileName: C:\ps-test\Start-ActivityTracker.ps1
Stream Length
------ ------
Zone.Identifier 26
The second command shows what happens when you run a blocked script in a PowerShell session in which the execution policy is **RemoteSigned**. The RemoteSigned policy prevents you from running scripts that are downloaded from the Internet unless they are digitally signed.
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
The third command uses the **Unblock-File** cmdlet to unblock the script so it can run in the session.
PS C:\> Get-Item C:\ps-test\Start-ActivityTracker.ps1 | Unblock-File
Cette commande montre comment rechercher et débloquer des scripts PowerShell.
Paramètres
-Confirm
Vous invite à confirmer avant d’exécuter l’applet de commande.
Type: | SwitchParameter |
Alias: | cf |
Position: | Named |
Valeur par défaut: | False |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | 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é comme des caractères génériques. 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.
Type: | String[] |
Alias: | PSPath |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
-Path
Spécifie les fichiers à débloquer. Les caractères génériques sont pris en charge.
Type: | String[] |
Position: | 0 |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | True |
-WhatIf
Affiche ce qui se passerait si l’applet de commande s’exécute. L’applet de commande n’est pas exécutée.
Type: | SwitchParameter |
Alias: | wi |
Position: | Named |
Valeur par défaut: | False |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
Entrées
Vous pouvez diriger un chemin d’accès de fichier vers débloquer-fichier.
Sorties
None
Cette applet de commande ne génère aucune sortie.
Notes
- L’applet de commande Unblock-File fonctionne uniquement dans les lecteurs du système de fichiers.
- débloquer un fichier 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.