it-swarm.dev

In che modo la politica di esecuzione RemoteSigned di PowerShell differisce da AllSigned?

Sono ancora abbastanza nuovo su PowerShell e di recente ho letto questo in un post sul blog sulla creazione e l'uso degli script PowerShell.

Per impedire l'esecuzione di script dannosi, PowerShell applica una politica di esecuzione. Per impostazione predefinita, il criterio di esecuzione è impostato su Limitato, il che significa che gli script di PowerShell non verranno eseguiti. È possibile determinare la politica di esecuzione corrente utilizzando il cmdlet seguente:

Get-ExecutionPolicy

I criteri di esecuzione che è possibile utilizzare sono:

  • Limitato - Gli script non verranno eseguiti.
  • RemoteSigned - Gli script creati localmente verranno eseguiti, ma quelli scaricati da Internet non lo faranno (a meno che non siano firmati digitalmente da un editore di fiducia).
  • AllSigned - Gli script verranno eseguiti solo se sono stati firmati da un editore di fiducia.
  • Senza restrizioni - Gli script verranno eseguiti indipendentemente da dove provengono e se sono firmati.

È possibile impostare la politica di esecuzione di PowerShell utilizzando il cmdlet seguente:

Set-ExecutionPolicy <policy name>

Per me, la notazione di " a meno che non siano firmati digitalmente da un editore di fiducia " nella descrizione di Remote Signed sembra implicare che funzioni allo stesso modo di AllSigned. C'è una differenza che mi manca da qualche parte?

28
Iszi

Ovviamente AllSigned richiede che tutti i moduli/snapin e script siano firmati in codice. RemoteSigned richiede solo la firma per i file remoti. Cosa sono i file remoti?

La risposta canonica è sul blog di PowerShell: http://blogs.msdn.com/b/powershell/archive/2007/03/07/how-does-the-remotesigned-execution-policy-work.aspx

Ma la linea di fondo è: RemoteSigned richiede solo la firma del codice su moduli/snapin e script che sono contrassegnati come dalla zona "Internet" nella 'Zona Flusso di dati alternativo di .Identifier, a meno che tu non abbia attivato "Internet Explorer Enhanced Security", nel qual caso include anche file contrassegnati "Intranet" e percorsi UNC.

16
Jaykul

La differenza è che RemoteSigned eseguirà gli script localmente che non sono firmati, mentre AllSigned richiede che tutti gli script siano firmati indipendentemente dalla loro origine.

8
Steve