Unblock-File
Desbloqueia arquivos que foram baixados da Internet.
Sintaxe
ByPath (Padrão)
Unblock-File
[-Path] <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ByLiteralPath
Unblock-File
-LiteralPath <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Esse cmdlet só funciona nas plataformas Windows e macOS.
O cmdlet Unblock-File permite abrir arquivos que foram baixados da Internet. Ele desbloqueia arquivos de script do PowerShell que foram baixados da Internet para que você possa executá-los, mesmo quando a política de execução do PowerShell é RemoteSigned. Por padrão, esses arquivos são bloqueados para proteger o computador contra arquivos não confiáveis.
Antes de usar o cmdlet Unblock-File, examine o arquivo e sua origem e verifique se é seguro abrir.
Internamente, o cmdlet Unblock-File remove o Zone.Identifier fluxo de dados alternativo, que tem um valor de 3 para indicar que ele foi baixado da Internet.
Para obter mais informações sobre políticas de execução do PowerShell, consulte about_Execution_Policies.
Esse cmdlet foi introduzido no Windows PowerShell 3.0.
Exemplos
Exemplo 1: desbloquear um arquivo
Esse comando desbloqueia o arquivo PowerShellTips.chm.
PS C:\> Unblock-File -Path C:\Users\User01\Documents\Downloads\PowerShellTips.chm
Exemplo 2: Desbloquear vários arquivos
Esse comando desbloqueia todos os arquivos no diretório C:\Downloads cujos nomes incluem "PowerShell". Não execute um comando como este até que você tenha verificado que todos os arquivos estão seguros.
PS C:\> dir C:\Downloads\*PowerShell* | Unblock-File
Exemplo 3: localizar e desbloquear scripts
Este comando mostra como localizar e desbloquear scripts do PowerShell.
O primeiro comando usa o parâmetro Stream do cmdlet get-item obter arquivos com o fluxo Zone.Identifier do.
O segundo comando mostra o que acontece quando você executa um script bloqueado em uma sessão do PowerShell na qual a política de execução é RemoteSigned. A política RemoteSigned impede que você execute scripts baixados da Internet, a menos que sejam assinados digitalmente.
O terceiro comando usa o cmdlet Unblock-File para desbloquear o script para que ele possa ser executado na sessão.
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
Solicita sua confirmação antes de executar o cmdlet.
Propriedades do parâmetro
| Tipo: | SwitchParameter |
| Valor padrão: | False |
| Dá suporte a curingas: | False |
| DontShow: | False |
| Aliases: | cf |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-LiteralPath
Especifica os arquivos a serem desbloqueados. Ao contrário do caminho , o valor do parâmetro LiteralPath é usado exatamente como ele é digitado. Nenhum caractere é interpretado como caractere curinga. Se o caminho incluir caracteres de escape, coloque-o entre aspas simples ('). Aspas simples indicam ao PowerShell que não deve interpretar nenhum caractere como uma sequência de escape.
Propriedades do parâmetro
| Tipo: | String[] |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
| Aliases: | PSPath, LP |
Conjuntos de parâmetros
ByLiteralPath
| Cargo: | Named |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | True |
| Valor dos argumentos restantes: | False |
-Path
Especifica os arquivos a serem desbloqueados. Há suporte para caracteres curinga.
Propriedades do parâmetro
| Tipo: | String[] |
| Valor padrão: | None |
| Dá suporte a curingas: | True |
| DontShow: | False |
Conjuntos de parâmetros
ByPath
| Cargo: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-WhatIf
Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.
Propriedades do parâmetro
| Tipo: | SwitchParameter |
| Valor padrão: | False |
| Dá suporte a curingas: | False |
| DontShow: | False |
| Aliases: | wi |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
CommonParameters
Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.
Entradas
String
Você pode redirecionar um caminho de arquivo para este cmdlet.
Saídas
None
Esse cmdlet não retorna nenhuma saída.
Observações
- O suporte para macOS foi adicionado no PowerShell 7.
- O cmdlet
Unblock-Filefunciona apenas em unidades do sistema de arquivos. -
Unblock-Fileexecuta a mesma operação que o botão Desbloquear na caixa de diálogo Propriedades do no Explorador de Arquivos. - Se você usar o cmdlet
Unblock-Fileem um arquivo que não está bloqueado, o comando não terá efeito no arquivo desbloqueado e o cmdlet não gerará erros.