Unblock-File
Sblocca i file scaricati da Internet.
Sintassi
Unblock-File
[-Path] <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Unblock-File
-LiteralPath <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Descrizione
Questo cmdlet funziona solo sulle piattaforme Windows e macOS.
Il Unblock-File
cmdlet consente di aprire i file scaricati da Internet. Sblocca i file di script di PowerShell scaricati da Internet in modo da poterli eseguire, anche quando i criteri di esecuzione di PowerShell sono RemoteSigned. Per impostazione predefinita, questi file vengono bloccati per proteggere il computer da file non attendibili.
Prima di usare il Unblock-File
cmdlet, esaminare il file e l'origine e verificare che sia sicuro aprirlo.
Internamente, il Unblock-File
cmdlet rimuove il flusso di dati alternativo Zone.Identifier , che ha un valore di 3
per indicare che è stato scaricato da Internet.
Per altre informazioni sui criteri di esecuzione di PowerShell, vedere about_Execution_Policies.
Questo cmdlet è stato introdotto in Windows PowerShell 3.0.
Esempio
Esempio 1: Sbloccare un file
Questo comando sblocca il PowerShellTips.chm
file.
PS C:\> Unblock-File -Path C:\Users\User01\Documents\Downloads\PowerShellTips.chm
Esempio 2: Sbloccare più file
Questo comando sblocca tutti i file nella C:\Downloads
directory i cui nomi includono "PowerShell". Non eseguire un comando simile al seguente prima di avere verificato che tutti i file siano sicuri.
PS C:\> dir C:\Downloads\*PowerShell* | Unblock-File
Esempio 3: Trovare e sbloccare gli script
Questo comando illustra come trovare e sbloccare gli script di PowerShell.
Il primo comando usa il parametro Stream del cmdlet Get-Item recupera i file con il flusso Zone.Identifier .
Il secondo comando mostra cosa accade quando si esegue uno script bloccato in una sessione di PowerShell in cui il criterio di esecuzione è RemoteSigned. Il criterio RemoteSigned impedisce l'esecuzione di script scaricati da Internet, a meno che non siano firmati digitalmente.
Il terzo comando usa il Unblock-File
cmdlet per sbloccare lo script in modo che possa essere eseguito nella sessione.
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
Parametri
-Confirm
Richiede conferma prima di eseguire il cmdlet.
Tipo: | SwitchParameter |
Alias: | cf |
Posizione: | Named |
Valore predefinito: | False |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-LiteralPath
Specifica i file da sbloccare. A differenza di Path, il valore del parametro LiteralPath viene usato esattamente come viene tipizzato. Nessun carattere viene interpretato come carattere jolly. Se il percorso include caratteri di escape, racchiuderlo tra virgolette singole ('
). Le virgolette singole indicano a PowerShell di non interpretare alcun carattere come sequenze di escape.
Tipo: | String[] |
Alias: | PSPath, LP |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-Path
Specifica i file da sbloccare. I carattere jolly sono supportati.
Tipo: | String[] |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | True |
-WhatIf
Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.
Tipo: | SwitchParameter |
Alias: | wi |
Posizione: | Named |
Valore predefinito: | False |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
Input
È possibile inviare tramite pipe un percorso di file a questo cmdlet.
Output
None
Questo cmdlet non restituisce output.
Note
- Il supporto per macOS è stato aggiunto in PowerShell 7.
- Il
Unblock-File
cmdlet funziona solo nelle unità del file system. Unblock-File
esegue la stessa operazione del pulsante Sblocca nella finestra di dialogo Proprietà in Esplora file.- Se si usa il
Unblock-File
cmdlet in un file non bloccato, il comando non ha alcun effetto sul file sbloccato e il cmdlet non genera errori.