Unblock-File

Desbloquea los archivos que se descargaron desde Internet.

Syntax

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

Description

Este cmdlet solo funciona en las plataformas Windows y macOS.

El Unblock-File cmdlet le permite abrir archivos que se descargaron desde Internet. Desbloquea los archivos de script de PowerShell que se descargaron desde Internet para poder ejecutarlos, incluso cuando la directiva de ejecución de PowerShell es RemoteSigned. Estos archivos están bloqueados de forma predeterminada para proteger el equipo de archivos que no son de confianza.

Antes de usar el Unblock-File cmdlet , revise el archivo y su origen y compruebe que es seguro abrirlo.

Internamente, el Unblock-File cmdlet quita el flujo de datos alternativo Zone.Identifier , que tiene un valor de 3 para indicar que se descargó de Internet.

Para obtener más información sobre las directivas de ejecución de PowerShell, consulte about_Execution_Policies.

Este cmdlet se introdujo en Windows PowerShell 3.0.

Ejemplos

Ejemplo 1: Desbloquear un archivo

Este comando desbloquea el PowerShellTips.chm archivo.

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

Ejemplo 2: Desbloquear varios archivos

Este comando desbloquea todos los archivos del C:\Downloads directorio cuyos nombres incluyen "PowerShell". No ejecute un comando como este hasta que haya confirmado que todos los archivos son seguros.

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

Ejemplo 3: Buscar y desbloquear scripts

Este comando muestra cómo buscar y desbloquear scripts de PowerShell.

El primer comando usa el parámetro Stream del cmdlet Get-Item get files con la secuencia Zone.Identifier .

El segundo comando muestra lo que sucede cuando se ejecuta un script bloqueado en una sesión de PowerShell en la que la directiva de ejecución es RemoteSigned. La directiva RemoteSigned impide ejecutar scripts que se descargan desde Internet a menos que estén firmados digitalmente.

El tercer comando usa el Unblock-File cmdlet para desbloquear el script para que pueda ejecutarse en la sesión.

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

Parámetros

-Confirm

Le solicita su confirmación antes de ejecutar el cmdlet.

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

-LiteralPath

Especifica los archivos que se van a desbloquear. A diferencia de Path, el valor del parámetro LiteralPath se usa exactamente como se escribe. Ninguno de los caracteres se interpreta como caracteres comodín. Si la ruta de acceso incluye caracteres de escape, escríbala entre comillas simples ('). Las comillas simples indican a PowerShell que no interprete ningún carácter como secuencias de escape.

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

-Path

Especifica los archivos que se van a desbloquear. Se admite el uso de caracteres comodín.

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

-WhatIf

Muestra lo que sucedería si se ejecutara el cmdlet. El cmdlet no se ejecuta.

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

Entradas

String

Puede canalizar una ruta de acceso de archivo a este cmdlet.

Salidas

None

Este cmdlet no devuelve ningún resultado.

Notas

  • Se ha agregado compatibilidad con macOS en PowerShell 7.
  • El Unblock-File cmdlet solo funciona en unidades del sistema de archivos.
  • Unblock-Filerealiza la misma operación que el botón Desbloquear del cuadro de diálogo Propiedades de Explorador de archivos.
  • Si usa el Unblock-File cmdlet en un archivo que no está bloqueado, el comando no tiene ningún efecto en el archivo desbloqueado y el cmdlet no genera errores.