samedi 5 mars 2011

Windows Powershell

MS-DOS c'est bien , powershell c'est mieux...

Poweshell v.1 pour Mr XP et Mr 2003 :
installer .NET Framework 2.0 avant powershell sur le site de Microsoft

Poweshell v.1 pour Mr Vista ET Mr 2008 :
installer directement powershell

Powershell v.2 5 (un peu plus poussé) pour Mr Seven et Mr 2008 R2:
rien à faire à part executer la commande powershell

les commandes s'executent comme sous dos comme pour msdos (ex commande powershell
Get-WmiObject Win32_Product | Format-List * . - affiche les progs installés sur l'O.S.

les scripts s'executent à l'aide du blocs notes , enregistrer sous nomduscript.ps1 (avec ms dos c'est plutôt *.bat)

1 / Autoriser les scripts sur la machine.

pour connaître la strategie d'execution de scripts de votre vindozzz tapper
get-executionpolicy dans une console powershell et le resultat par défaut est :

PS C:\Users\toto> get-executionpolicy
"Restricted"

Pour executer des scripts signés et non signés en local, il suffit de valider la commande "set-executionpolicy remotesigned" dans powershell attention lancer powershell en tant qu'admin pour ce faire.

De toute façon, pour les scripts sur le net autant copier le code plutôt que d'enregister les fichiers eux-mêmes (pas plus secure mais au moins , on a une idée du contenu) pour plus de détails ;
get-help about_signing

2 / Créer un script.

Ouvrir donc le bloc notes, nous allons créer un petit script avec une variable qui permet d'afficher les 50 derniers logs d'erreur system de l'ordi (ordi = variable) toto classés par n° evenements en demandant un tableau à trois colonnes source, date..., message.


$Computer = read-host -prompt "Please enter computer value: "

Get-EventLog -computer $computer -logname system -newest 50 -entrytype Error | sort eventid | Format-Table EventID, Source, TimeWritten, Message -auto

Enregistrons ensuite le tout ous le nom "logssysteme.ps1" choisir type "tous les fichiers" afin d'eviter d'enregistrer sous format .txt i/o .ps1

Pour lancer le script aller dans la console et tapper powershell [cheminduscript\script.ps1]
par exemple : powershell C:\Users\totox\Desktop\powershell\logssysteme.ps1

le rendu :

10010 DCOM 21/02/2011 22:34:52 La description de l'ID d'événement '-
10010 DCOM 15/02/2011 22:32:15 La description de l'ID d'événement '-
10010 DCOM 25/02/2011 03:01:20 La description de l'ID d'événement '-


et vôala !













Aucun commentaire: