Unblock-File
Desbloquea los archivos que se descargaron desde Internet.
Sintaxis
ByPath (Es el valor predeterminado).
Unblock-File
[-Path] <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ByLiteralPath
Unblock-File
-LiteralPath <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Este cmdlet solo funciona en las plataformas Windows y macOS.
El cmdlet Unblock-File permite abrir archivos descargados de 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 se RemoteSigned. De forma predeterminada, estos archivos se bloquean para proteger el equipo de archivos que no son de confianza.
Antes de usar el cmdlet Unblock-File, revise el archivo y su origen y compruebe que es seguro abrirlo.
Internamente, el cmdlet Unblock-File quita el Zone.Identifier flujo de datos alternativo, 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 archivo PowerShellTips.chm.
PS C:\> Unblock-File -Path C:\Users\User01\Documents\Downloads\PowerShellTips.chm
Ejemplo 2: Desbloquear varios archivos
Este comando desbloquea todos los archivos del directorio C:\Downloads cuyos nombres incluyen "PowerShell". No ejecute un comando como este hasta que haya comprobado 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 de obtener archivos con la secuencia de Zone.Identifier de.
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 se RemoteSigned. La directiva RemoteSigned impide ejecutar scripts que se descargan desde Internet a menos que estén firmados digitalmente.
El tercer comando usa el cmdlet Unblock-File 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 pide confirmación antes de ejecutar el cmdlet.
Propiedades del parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | False |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | cf |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Mandatory: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | 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.
Propiedades del parámetro
| Tipo: | String[] |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | PSPath, LP |
Conjuntos de parámetros
ByLiteralPath
| Posición: | Named |
| Mandatory: | True |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | True |
| Valor de los argumentos restantes: | False |
-Path
Especifica los archivos que se van a desbloquear. Se admiten caracteres comodín.
Propiedades del parámetro
| Tipo: | String[] |
| Valor predeterminado: | None |
| Admite caracteres comodín: | True |
| DontShow: | False |
Conjuntos de parámetros
ByPath
| Posición: | 0 |
| Mandatory: | True |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-WhatIf
Muestra lo que sucedería si el cmdlet se ejecuta. El cmdlet no se ejecuta.
Propiedades del parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | False |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | Wi |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Mandatory: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
CommonParameters
Este cmdlet admite los parámetros comunes: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction y -WarningVariable. Para obtener más información, vea about_CommonParameters.
Entradas
String
Puede canalizar una ruta de acceso de archivo a este cmdlet.
Salidas
None
Este cmdlet no devuelve ninguna salida.
Notas
- Se ha agregado compatibilidad con macOS en PowerShell 7.
- El cmdlet
Unblock-Filesolo funciona en unidades del sistema de archivos. -
Unblock-Filerealiza la misma operación que el botón Desbloquear en el cuadro de diálogo Propiedades de del Explorador de archivos. - Si usa el cmdlet
Unblock-Fileen un archivo que no está bloqueado, el comando no tiene ningún efecto en el archivo desbloqueado y el cmdlet no genera errores.