07/07/2010 9.26
Salve,
ho cominciato ad interessarmi a Powershell da poco e ne ho subito apprezzato la potenza. Tuttavia mi sono presto scontrato con l'utilizzo degli script powershell per la gestione quotidiana di un dominio AD. Per spiegarmi meglio, fino a poco tempo fa scrivevo script in vbs, batch o vmi, li inserivo in una policy di startup/login ed avevo finito.
Ora mi trovo a combattare con Unrestricted, RemoteSigned, etc.
Mi piacerebbe sapere come gestite voi il problema.
Grazie a tutti
11/07/2010 11.37
Ciao Matt,
qual è il motivo che ti porta a considerare le policy di esecuzione un problema? L'idea di poter limitare l'esecuzione degli script o, ancora meglio, di consentirne l'invocazione solo a fronte di una firma digitale mi sembra un'ottima idea, anche se concordo con te sul fatto che è difficile che nelle realtà italiane queste impostazioni di sicurezza vengano sfruttate. ;)
Detto questo, Set-ExecutionPolicy consente di memorizzare di default le impostazioni nel registry, così che generalmente non sia necessario richiamare questo comando più di una volta per PC. Oppure, ancora, puoi configurare le policy di esecuzione direttamente
tramite GPO, nel tuo dominio.
Ho risposto alla tua domanda o c'è qualcosa che mi è sfuggito?
Ciao, a presto!
Efran Cobisi
Solution developer, consultant and trainer
Microsoft MVP, MCT, MCSD for Microsoft .NET, MCTS: SQL Server 2005
12/07/2010 10.17
Ciao Efran,
in effetti è quello che ho fatto. Però per motivi di sicurezza tutte le volte eseguo sul PC remoto con psexec un Set-ExecutionPolicy Unrestricted e poi lo riporto a Restricted
e nel mezzo dei due comandi eseguo chiaramente il mio script.
Tutto questo mi sembra che rallenti o almeno allunghi l'esecuzione degli script. Avevo pensato anche alla gestione con certificati ma mi sembra troppo complicata da gestire.
Proverò comunque a fare ulteriori prove...
Grazie
24/07/2010 1.27
Ciao Matt,
per non complicarti la vita con i criteri di esecuzione potresti utilizzare il supporto per i task remoti di PowerShell 2.0.
Il cmdlet Invoke-Command, ad esempio, ti consentirebbe di eseguire solo i comandi che ti interessano a fronte di una o più macchine remote, mantenendo l'esecuzione dello script principale nella tua macchina (o in un'altra ancora); se hai a disposizione una copia del mio libro "Windows PowerShell 2.0 - Guida completa" parlo dei task remoti nel capitolo 27 (anche se ti consiglio di dare prima un'occhiata al capitolo 26, sui job in background, perchè è strettamente correlato al primo).
Ciao, a presto!
Efran Cobisi
Solution developer, consultant and trainer
Microsoft MVP, MCT, MCSD for Microsoft .NET, MCTS: SQL Server 2005