Quelques lignes de PowerShell

Lors de mes recherches et autres démos il m'arrive de chercher comment faire telle ou telle manip en PowerShell. Autant que possible je tâche de les noter pour en vous en faire profiter. En voici quelques-unes, ne manquez pas de visiter le Technet Script Center si vous êtes à la recherche de scripts.

(1) Configuration IP : changer le(s) serveur(s) DNS

Celle-ci n'est pas immédiate à trouver : plusieurs modules se partagent la configuration réseau et il s'agit ici du module DnsClient qui s'occupe du client DNS. La commande en question est Set-DnsClientServerAddress, que j'utilise ici avec l'alias de l'interface réseau qui m'intéresse.

 Set-DnsClientServerAddress -InterfaceAlias ethernet -ServerAddresses 192.168.10.10 

Pour trouver l'alias de l'interface, vous pouvez utiliser Get-NetIPInterface ou plus simplement gip, l'alias simple à retenir de Get-NetIPConfiguration.

Pour configurer plusieurs serveurs DNS, il suffit de les spécifier séparés par des virgules. Pour vérifier que le(s) serveur(s) DNS sont corrects, ajoutez l'option -Validate.

(2) Réseau : changer le type de réseau

Dans Windows 7 il était possible de changer le type de réseau (public, privé, domaine) par l'interface graphique, ce qui n'est plus le cas dans Windows 8 ou Windows Server 2012. Utilisez la commande Get-NetConnectionProfile pour récupérer l'index ou l'alias de l'interface, et son attribut NetworkCategory qui correspond au type de réseau :

image

Dans cet exemple l'interface d'index 26 est de type public. Pour la passer en type privé, on utilise la commande Set-NetConnectionProfile :

 Set-NetConnectionProfile -InterfaceIndex 26 -NetworkCategory Private

Les valeurs possibles du paramètre NetworkCategory sont Public, Private et DomainAuthenticated.

(3) Arrêter un service sur plusieurs machines distantes

Pour une démo très simple j'avais besoin d'arrêter un service sur plusieurs machines distantes. Rien de plus simple avec PowerShell 3.0 et son pipe simplifié lorsque la source contient plusieurs objets. Pour mon exemple, j'arrête le service Spooler sur trois machines distantes :

 Get-Service -Name Spooler -ComputerName srv1,srv2,srv3 | Stop-Service

Voilà pour aujourd'hui, d'autres exemples suivront sans doute prochainement.

En attendant, n'oubliez pas de télécharger la version d'évaluation de Windows Server 2012 ici : https://aka.ms/jeveuxwindows2012 (ISO et VHD disponibles) et de vous inscrire à nos IT Camps : https://aka.ms/itcampfr.