Powershell: Criteri di esecuzione

By cillo at February 17, 2007 19:50
Filed Under: Powershell

Gli script sono estremamente potenti, purtroppo però la storia ci insegna che possono anche essere utilizzati per danneggiare un sistema. In PS esistono una serie di funzionalità di protezione, tra cui i criteri di esecuzione che determinano se gli script possono essere eseguiti ed eventualmente se devono essere firmati. Vedremo più avanti che questi criteri determinano anche la possibilità di caricare file di configurazione per la PS (ad esempio i profili).
Il criterio può assumere 4 valori:
- Restricted: è quello impostato quando installiamo la PS, non consente l'esecuzione di script né il caricamento di file di configurazione;
- AllSigned: consente l'esecuzione di script, ma questi devono essere firmati digitalmente (con certificato rilasciato da una CA riconosciuta), sia che siano scaricati da internet, sia che siano creati sul computer locale;
- RemoteSigned: consente l'esecuzione di script, che devono essere firmati digitalmente (con certificato rilasciato da una CA riconosciuta) se sono stati scaricati da internet, o dalla posta elettronica, o da software di messaggistica; possono invece venire eseguiti tranquillamente quelli creati sul computer locale;
- Unrestricted: permette l'esecuzione di script non firmati.

Se creiamo un semplice file helloworld.ps1 contenente la sola riga
Write-Output "Hello World"
e poi cerchiamo di eseguirlo, avremo il seguente errore:



Verifichiamo quindi il criterio di protezione tramite il cmdlet Get-ExecutionPolicy e verifichiamo che sia effettivamente Restricted. Modifichiamolo quindi con il cmdlet Set-ExecutionPolicy RemoteSigned (questa l'impostazione che uso io attualmete). Proviamo ora a rilanciare lo script e verifichiamone il corretto funzionamento.
Non è molto intuitivo ricordarselo, ma per lanciare gli script bisogna indicare il path di esecuzione (nel nostro caso il ./ prima del nome dello script); un modo facile per non dimenticarselo è utilizzare l'autocomplete attivato sul tasto tab, che ci completa la stringa digitata a mano (caratteristica molto utile a chi, come me, ha una memoria di fango!Laughing).

Comments are closed

About Me

My work experience began in the second half of the nineties, designing and developing mainly internet-based solutions for businesses.
As a natural evolution, I started focusing on the architectural aspect of IT systems.
I have been a system administrator and IT manager for years now, and I take care of designing, implementing and maintaining customer IT infrastructures.

If you want to know more, please take a look on

Recent comments

Comment RSS

Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in  anyway.

© Copyright 2008