- Déterminer la version du Framework .Net installée
get-childitem ‘HKLM:\software\microsoft\Net Framework setup\ndp’ | select-object @{Name= »Framework »;Expression={$_.PSChildname}},@{Name= »Service Pack »;Expression={$_.getvalue(« Sp »)}} |format-table -autosize
– get-command (liste les 129 commandes)
Les commandes de powershell sont au format verbe-commande les verbes ou prefix des commandes sont add, clear, compare, convert, copy, export, foreach, get, import, invoke, join, measure, move, new, pop, puch, read, remove, rename, resolve, select, set, sort, split, start, stop, suspend, tee, test, trace, update, where et write (36 total)
– get-command -verb get (liste que les commandes get)
– get-command set* (la liste non seulement les commandes, mais alias et aussi tous les executables dans le path)
– get-command ipconfig (Affiche des informations sur ipconfig du système)
– get-command ipconfig | format-list * ( les informations sur ipconfig complète avec un meilleur le format de sortie)
– write-host Hello World (un classique)
– get-help set-alias (fournit le l’aide sur set-alias)
– get-help set-alias -detailed (fournit aide et plusieurs exemple)
– set-alias np c:\windows\notepad.exe (crée un alias vers notepad, maintenant np lance notepad)
get est le verbe par defaut il n’est pas necessaire de faire get avant chaque commande exemple
– get-date (on obtient la date)
– date (on obtient la date)
La seule exeption est command il faut faire get-command sinon l’on bascule dans l’ancien DOS command.com faire exit pour revenir dans le powershell
– dir (affiche le contenu du repertoire courant)
– get-childitem ou encore plus simplement childitem (affiche le contenu du repertoire courant)
– get-command dir (l’on voit bien que dir et un alias de get-childitem)
Avec powershell l’on manipule des objets exemple
– $a = “salut” (ajoute la chaine salut comme valeur à la variable $a)
– $a.length (affiche la longueur de l’objet)
– write-host ((date).day +5) (le jour de mois +5 affiche le total)
– write-host (date).day +5 (affiche la chaine x + 5)
– (get-command).count (compte le nombre de commande de powershell 129 total)
– (get-command *.exe).count (affiche le nombre de .exe dans le path sur mon XP SP2= 405)
– $a.gettype() (on obtient le type de l’objet)
– $a = [int] “4″ (donne le type int à $a)
– $d = [datetime] “2007-05-10″ (type et affecte une valeur à $d)
– $d.gettype() (on voit bien que le type est datetime)
– $d | get-member (affiche toutes les propriété et méthode accessible pour votre objets ici de type datetime)
– net config workstation Même commande qu’en DOS
– $n = (net config workstation)[1] Récupére la ligne 2 de la commande net config workstation
– $n (affiche la ligne 2 de la commande net config workstation)
– get-process (affiche les processus sur le système)
– get-process | where { $_.processName -eq “thunderbird”} | stop-process -whatif (simule la commande)
– get-process | where { $_.processName -eq “thunderbird”} | stop-process (stop le processus thunderbird)
– get-process | where { $_.processName -eq “thunderbird”} | stop-process -confirm (demande avant de faire)
– get-psdrive (fournit la liste des magasins de donnés une vue du système de fichiers de façon étendu avec variables d’environnement, alias et registre)
– cd hkcu: (Permet de basculer dans le registre)
– cd env: (Permet de voir les variables d’envirronement)
– get-eventlog -list (Liste les journaux d’évènement)
– get-eventlog -system | more (Liste les journaux du système d’exploitation)
– get-eventlog “directory service” |where {$_.source -eq “ntds kcc”}| out-host -paging(remonte les infos du journal contenant NTDS KCC)
– get-wmiobject -list | more (Permet de lister l’ensemble des class d’objets wmi disponible)
– get-wmiobject win32_computersystem (permet d’avoir un certain nombre d’info sur son système)
– get-wmiobject -class Win32_OperatingSystem -namespace root/cimv2 -computername . | Format-list TotalVirtualMemorySize, TotalVisibleMemorySize, FreephysicalMemory, FreeVirtualMemory, FreeSpaceInPagingFiles (Affiche l’état de la mémoire physique et virtuel)
– get-wmiobject -class win32_LogicalDisk -computername NomDuPCDistant (Affiche l’état des disques distant)
– $ui = new-object -ComObject “shell.Application” (création d’un objet COM)
– $path=$ui.BrowseForFolder(0, “Choix d’un répertoire, svp…”,0,0) (Démarre une boite dialogue)
– $path.self.path ( affiche le chemin choisis par l’utilisateur)
– get-process | where {$_.responding -eq $false } | stop-process (Arrête les processus qui ne répond plus)
– get-service | where {$_.status -eq “running” } (liste les services qui tourne)
– stop-service -Name spooler ( arrêt du service spooler)
– get-service |where {$_.canstop} |restart-service -whatif (Liste les services qu’il est possible de redémarrer)
– get-wmiobject Win32_bios affiche la version du bios
– get-wmiobject Win32_bios | select -property [a-z]* liste toute les propriétés du BIOS
– get-wmiobject win32_bios -computername NomDeLaMachine Affiche le Bios d’une machine distante
– “Serveur1″, “Serveur2″ | foreach -process {get-wmiobject win32_bios -computername $_} | format-table (Liste Bios sur deux machines)
– get-wmiobject win32_logicaldisk -filter “drivetype=3″ -computername NomDeLaMachine(affiche les informations sur les disques locaux d’une machine)
– get-wmiobject win32_logicaldisk -filter “drivetype=3″ -computername NomDeLaMachine | measure-object -property freespace, size -sum (espace libre et espace total sur un disque local d’une machine distante)
– get-wmiobject win32_computersystem -property Username -computername NomDeLaMachine (affiche l’utilisateur connecté)
– get-wmiobject win32_product -computername . Liste les applications installer sur la machines clientes
– (get-wmiobject -computername . -List |where {$_.name -eq “win32_product”}).install(“\\serveur\partages\Package.msi”) (installe une application sur une machine distante)
– get-wmiobject win32_ntdomain (Affiche les informations du domaine sur lequel le poste est connecté)
– get-wmiobject win32_ntdomain | select -property [a-z]* | out-host -paging (affiche plus d’informations sur le domaine du poste client)
Lache un Big up!