Condividi tramite


Unblock-File

Sblocca i file scaricati da Internet.

Sintassi

ByPath (impostazione predefinita).

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

ByLiteralPath

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

Descrizione

Questo cmdlet funziona solo sulle piattaforme Windows e macOS.

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 sia sicuro aprirlo.

Internamente, il cmdlet Unblock-File rimuove il Zone.Identifier flusso di dati alternativo, con 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

Questo comando sblocca il file PowerShellTips.chm.

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

Esempio 2: Sbloccare più file

Questo comando sblocca tutti i file nella directory C:\Downloads i cui nomi includono "PowerShell". Non eseguire un comando simile a questo finché non si è 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 ottenere 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 i criteri di esecuzione vengono RemoteSigned. Il criterio RemoteSigned impedisce l'esecuzione di script scaricati da Internet, a meno che non siano firmati digitalmente.

Il terzo comando usa il cmdlet Unblock-File 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.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False
Alias:cfr

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-LiteralPath

Specifica i file da sbloccare. A differenza di Path, il valore del parametro LiteralPath viene usato esattamente come viene digitato. Nessun carattere viene interpretato come metacaratteri. 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.

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:PSPath, UP

Set di parametri

ByLiteralPath
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-Path

Specifica i file da sbloccare. Sono supportati caratteri jolly.

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:True
DontShow:False

Set di parametri

ByPath
Posizione:0
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-WhatIf

Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False
Alias:Wi

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

CommonParameters

Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.

Input

String

È possibile inviare tramite pipe un percorso di file a questo cmdlet.

Output

None

Questo cmdlet non restituisce alcun output.

Note

  • Il supporto per macOS è stato aggiunto in PowerShell 7.
  • Il cmdlet Unblock-File 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 cmdlet Unblock-File in un file non bloccato, il comando non ha alcun effetto sul file sbloccato e il cmdlet non genera errori.