Unblock-File
Sblocca i file scaricati da Internet.
Sintassi
Unblock-File
[-Path] <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Unblock-File
-LiteralPath <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Descrizione
Il cmdlet Unblock-File 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 cmdlet Unblock-File, esaminare il file e la relativa origine e verificare che è possibile aprirlo.
Internamente, il cmdlet Unblock-File rimuove il flusso di dati alternativi Zone.Identifier, che ha un valore "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
PS C:\> Unblock-File -Path C:\Users\User01\Documents\Downloads\PowerShellTips.chm
Questo comando Sblocca il file PowerShellTips.chm.
Esempio 2: Sbloccare più file
PS C:\> dir C:\Downloads\*PowerShell* | Unblock-File
Questo comando sblocca tutti i file nella directory C:\Download i cui nomi includono "PowerShell". Non eseguire un comando simile al seguente prima di avere verificato che tutti i file siano sicuri.
Esempio 3: Trovare e sbloccare gli script
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
Questo comando illustra come trovare e sbloccare gli script di PowerShell.
Parametri
-Confirm
Richiede la conferma dell'utente prima di eseguire il cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-LiteralPath
Specifica i file da sbloccare. A differenza di Path, il valore del parametro LiteralPath viene usato esattamente com'è digitato. 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.
Type: | String[] |
Aliases: | PSPath |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Path
Specifica i file da sbloccare. I carattere jolly sono supportati.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-WhatIf
Mostra l'esito in caso di esecuzione del cmdlet. Il cmdlet non viene eseguito.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Input
È possibile inviare un percorso di file tramite pipe a Unblock-File.
Output
None
Questo cmdlet non genera alcun output.
Note
- Il cmdlet Unblock-File funziona solo in unità del file system.
- Sblocca-File esegue la stessa operazione del pulsante Sblocca nella finestra di dialogo Proprietà in Esplora file.
- Se si usa il cmdlet Unblock-File su un file non bloccato, il comando non ha effetto sul file sbloccato e il cmdlet non genera errori.