Voici un module PowerShell a ajouter pour obtenir les commandes supplémentaires pour gérer vos serveurs DHCP.
PowerShell Module for DHCP
Vous aurez alors accès à 24 cmdlets supplémentaires.
Add-DHCPExclusionRange
Add-DHCPIPRange
Disable-DHCPScope
Enable-DHCPScope
Get-DHCPOption
Get-DHCPOptionDefinitions
Get-DHCPReservation
Get-DHCPScope
Get-DHCPServer
Get-DHCPStatistics
New-DHCPOptionDefinition
New-DHCPReservation
New-DHCPScope
Remove-DHCPExclusionRange
Remove-DHCPIPRange
Remove-DHCPOption
Remove-DHCPOptionDefinition
Remove-DHCPReservation
Remove-DHCPScope
Set-DHCPConflictDetectionAttempts
Set-DHCPOption
Set-DHCPScopeDescription
Set-DHCPScopeLease
Set-DHCPScopeName
Ces commandes utilisent netsh, pour simplifier les taches d’administration sur les serveur DCHP.
Netsh est un utilitaire en ligne de comande qui va vous permettre de gérer le DHCP Client et Serveur.
Par exemple sur un serveur, la commande suivant permet d’afficher toutes les étendues.
netsh dhcp server \\SERVERNAME show scope |
Ces commandes s’intègre très bien dans vos scripts PowerShell.
Vue d’ensemble des commandes Netsh
Faire un ping avec PowerShell.
$ping = new-object System.Net.Networkinformation.Ping
$ping.send("servername") |
Utile pour vérifier que la machine est en ligne avant de lancer un tache distante.
Voici comment faire un NsLookup d’une plage IP avec PowerShell.
1..255 | % { [System.Net.Dns]::GetHostByAddress("192.168.1.$_") } 2> Out-Null | ft |
Cela vous permet de récupérer le HostName, les Aliases pour chaque IP de la plage d’adresses.
Voici une ligne de commande PowerShell très utile aux indécis pour choisir pour qui voter au second tour de l’élection présidentielle.
Get-Random "François Hollande","Nicolas Sarkozy" |
Un petit script qui décompte les temps qui reste avant les vacances en PowerShell.
$Timespan = New-TimeSpan -Start (get-date) -End (Get-Date -Day 27 -Month 7 -Year 2012 -Hour 18 -Minute 30)
$MsgBox = New-Object -ComObject wscript.shell
$MsgBox.Popup("Il reste $($timespan.days) jours, $($timespan.hours) heures, et $($timespan.minutes) minutes avant les vacances!") |
Ce script permet de rechercher et remplacer une chaîne de caractère par une autre dans l’ensemble d’un fichier texte.
$content = Get-Content ".\file.txt" | foreach { $_ -replace "hello","bonjour" }
Set-Content -Path ".\file.txt" -Value $content |
Voici comment ouvrir un fichier de script PowerShell en commande directement depuis la console.
Voici déjà deux méthode pour lancer un application depuis PowerShell, ici PowerGUI Script Editor:
Invoke-Item 'C:\Program Files\PowerGUI\ScriptEditor.exe' |
ou
& 'C:\Program Files\PowerGUI\ScriptEditor.exe' |
Pour ouvrir directement le fichier de script:
& 'C:\Program Files\PowerGUI\ScriptEditor.exe' .\monscript.ps1 |
Si je veux éviter de taper à chaque fois le chemin de l’applications:
$notepadp = 'C:\Program Files\PowerGUI\ScriptEditor.exe'
& $notepadp .\monscript.ps1 |
Par défaut, l’éditeur PowerShell ISE sur Windows 2008 R2 ou Seven qui possèdent nativement PowerShell V2 n’est pas accessible.
Il faut l’installer. Rien à télécharger, tout est déja disponible en local. Il suffit juste de lancer la commande.
Import-Module ServerManager;Add-WindowsFeature PowerShell-ISE |
Et comme par magie Powershell ISE apparait dans le menu démarrer.

Il vous permettra de faire en local vos petites modifications de script.

Pour les autres versions de Windows il faudra passer par l’installation de PowerShell V2.
Voici comment utiliser les variables d’environnement avec PowerShell.
Afficher les variables d’environnement:
Afficher une variable d’environnement:
Utiliser les variables d’environnement:
Set-Location $env:USERPROFILE |