Télécharger la vidéo: clic droit ici
Afficher l'aide
get-help
Exemple : get-help
Exemple : get-help *
Exemple : get-help Get*
Exemple : get-help Get-HotFix -Examples
Exemple : get-help Export-CSV
Lien vers le fichier : cliquez ici
Afficher les commandes
Commande | Fonction |
---|---|
get-command | Afficher toutes les commandes |
get-command -type cmdlet | Afficher toutes les commandes de type cmdlet |
get-command Get* | Afficher toutes les commandes en Get |
Afficher les possibilités d'un objet/d'une commande
Une commande/variable|gm
Lien vers le fichier : cliquez ici
Si vous voulez afficher les propriétés non pas d'une commande mais d'un objet retourné par cette commande, vous pouvez appliquer un filtre pour ne récupérer que le premier objet puis faire un | GM dessus.
Exemple :
Get-Process | Select-Object -first 1 | gm
Lien vers le fichier : cliquez ici
Pour prendre le premier objet retourné, afficher chacune de ses propriétés ainsi que la valeur associée
get-eventlog -logname system | Select-Object -first 1 | Select-Object -Property *
Lien vers le fichier : cliquez ici
Lister les modules disponibles en Powershell :
Get-Module –ListAvailable
Lien vers le fichier : cliquez ici
Les modules sont présents dans le répertoire suivant
C:\Windows\System32\WindowsPowerShell\v1.0\Modules
C:\Windows\System32\WindowsPowerShell\v1.0\Modules
Lien vers le fichier : cliquez ici
C'est aussi une façon de voir les modules que l'on peut déclarer :
Ensuite sous powershell il faut utiliser la commande Import-Module pour en déclarer un. Exemple avec Dism :
Import-Module Dism
Lien vers le fichier : cliquez ici
Lister les commandes qui proviennent d'un module contenant le mot manager :
get-command -Module *manager*
Lien vers le fichier : cliquez ici
Filtrer pour n'avoir que les commandes contenant le mot XA :
Get-Command | Where-Object {$_.Name -match "XA"}
Lien vers le fichier : cliquez ici
En fait l'option -match supporte le regex. Du coup vous pourriez dire :
Filtrer pour n'avoir que les commandes qui commencent pas Get et qui se terminent par info :
Get-Command | Where-Object {$_.Name -match "^get.*info$"}
Lien vers le fichier : cliquez ici
Voir toutes les commandes du modules ActiveDirectory qui contiennent le mot computer
get-command -Module *ActiveDirectory* | Where-Object {$_.Name -match "computer"}
Lien vers le fichier : cliquez ici
N'afficher que les résultats où un champ, ici 'Message', n'est pas null
get-eventlog -logname system | Select-Object -first 10 | Where {($_.Message)}
Lien vers le fichier : cliquez ici
Affiche les résultat sous la forme d'une liste
format-list
Exemple : Get-HotFix | format-list
Lien vers le fichier : cliquez ici
Affiche les résultats sous forme de tableau
format-table
Exemple : Get-HotFix | format-table
Lien vers le fichier : cliquez ici
Afficher les propriétés d'un objet :
Get-ADComputer "NomMachine" | Format-List
#ou
Get-ADComputer "NomMachine" | Format-List –Property *
Lien vers le fichier : cliquez ici
Pour chaque résultat, afficher la valeur de 2 champs donnés. Ici c'est DisplayName et Pathname
Get-WmiObject win32_service | ForEach-Object {Write-Host "$($_.DisplayName)`t$($_.Pathname)"}
Lien vers le fichier : cliquez ici
Vous avez une collection qui contient plusieurs objets.
Vous prenez le premier objet et vous affichez ses propriétés :
($Macollection[0] | gm -MemberType property).Name
Lien vers le fichier : cliquez ici
Pour chaque objet d'une collection, afficher le type de l'objet puis l'objet en lui même :
$MyEvents | ForEach-Object {Write-Host "$($_.GetType())";$_}
Lien vers le fichier : cliquez ici
N'afficher que certaines propriétés d'un objet :
Get-ADComputer "NomComputer" | Format-List Name, DistinguishedName
#ou
Get-ADComputer "NomComputer" | Format-List –Property Name, DistinguishedName
Lien vers le fichier : cliquez ici
Exclure certain types d'objets d'une collection
$MyEvents = Get-VIEvent | Where-Object {$_.GetType() -notlike "VMware.Vim.UserLog*SessionEvent"}
Lien vers le fichier : cliquez ici
Sélection de propriétés dans un objet
Select
Exemple : Get-HotFix | select HotFixID, Description | sort-object
Lien vers le fichier : cliquez ici
Modifier la valeur d'une propriété :
Set-ItemProperty . -Name Enabled -Value False
Lien vers le fichier : cliquez ici
Filtrer pour n'avoir que les champs name qui contiennent 014 :
| Where {$_.name -Match "014"}
Lien vers le fichier : cliquez ici
Filtrer pour n'avoir que les champs name qui ne contiennent pas 014 :
| Where {$_.name -notlike "*014*"}
Lien vers le fichier : cliquez ici
Tri des résultats, les mettre dans un ordre (type order by en sql)
Exemple :
Get-HotFix | select HotFixID, Description | sort-object -property HotFixID
Lien vers le fichier : cliquez ici
Ecrire le résultat dans un fichier
Exemple :
Dir | Out-File "C:\MonFichierDir.txt"
Lien vers le fichier : cliquez ici
Exporter un résultat dans un csv :
Get-Process | Export-csv -path E:\Export.csv -NoTypeInformation
Lien vers le fichier : cliquez ici
Ne prendre que le premier objet d'une collection :
ce qui est intéressant ici c'est surtout cette ligne :
$Adapter = $VM.VirtualNetworkAdapters[0]
VirtualNetworkAdapters est la collection et $Adapter est un objet
$VMName = "NomDeLaVM"
$VM = Get-SCVirtualMachine -Name $VMName
$Adapter = $VM.VirtualNetworkAdapters[0]
Set-SCVirtualNetworkAdapter -VirtualNetworkAdapter $Adapter -LogicalNetwork "EXTERNE"
Set-SCVirtualNetworkAdapter -VirtualNetworkAdapter $Adapter -VLanID 12
Lien vers le fichier : cliquez ici
Quelques symboles utiles récupérés dans le tableau de https://www.it-connect.fr/powershell-pour-les-debutants-3eme-partie/
Symbole | Utilité |
---|---|
$_ | Objet en cours |
% | Alias de la boucle ForEach "%{$_}" ou reste de division (Modulo) |
? | Alias de la commande Where-Object |
& | Opérateur d’invocation ou d'appel (Exécution d’un bloc de script ou d’une commande) |
! | Négation, équivalent de -not |
; | Permet d’écrire plusieurs instructions sur la même ligne ou de terminer explicitement une ligne d’instruction |
Pages Web
Site Web | Description |
---|---|
Quest ActiveRoles | Plug in Quest ActiveRoles pour l AD |
Article(s) suivant(s)
Article(s) précédent(s)
Article(s) en relation(s)