Augmenter la taille d’un volume
Avec les machines virtuelles sur VMware et HyperV, quand il n’y en a plus, il y en a encore. Cela vaut pour le CPU, la mémoire, le réseau et surtout le disque.
Voici comment rapidement étendre un volume de données sur un serveur.
Une fois que vous avez ajouté les gigas nécessaires à votre machine virtuelle, vous pouvez étendre la partition.
Il y a quelques conditions:
- Le volume ne doit pas être le système.
- L’espace ajouté et le volume à étendre doivent être contigus.
Pour Windows 2000 et 2003 Server, utilisez Diskpart.

Télécharger diskpart pour Windows 2000 ici.
Pour Windows 2008 Server, utilisez le gestionnaire de disques.
Cliquez droit sur le volume souhaité et cliquez sur Etendre le volume.
Suivez ensuite l’assistant.
Plus d’informations dans l’article Microsoft ici.
Pour rappel Microsoft recommande un partition système de 40Go ou plus.
Configuration système requise pour Windows Server 2008
Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :
Exporter la liste des fichiers d’un lecteur par extension.
Dans l’idée de faire un peu de ménage sur un lecteur, je cherche à identifier les fichiers multimédia avec le chemin et la taille.
Ce script va créer un fichier texte pour chaque extension.
Get-ChildItem -Recurse -Path "E:\" -Include *.mp3,*.mp4,*.avi -ErrorAction silentlycontinue | ForEach { Write-Progress -activity "Fichiers Multimédia" -Status $_.FullName $extension = $_.name.split(".")[-1] $size = “{0:N2}” -f ($_.Length/1mb) $logfile = ".\logs\" + $extension + ".txt" $present = Test-Path -Path $logfile if ( $present -ne "true") { Write-host "Création de $logfile" $resfile = New-Item -ItemType file -Path $logfile -Force Add-Content -Path $logfile -Value "Nom;Chemin;Taille" Add-Content -Path $logfile -Value "$($_.name );$($_.DirectoryName);$($size)" } Else { Add-Content -Path $logfile -Value "$($_.name );$($_.DirectoryName);$($size)" } } |
Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :
Exporter la liste des gros fichiers présents sur un lecteur.
Voici un script pour exporter dans un fichier texte la liste des fichiers de plus de 100Mo présents sur un lecteur.
Get-ChildItem -Recurse -Path "E:\" -ErrorAction silentlycontinue | Where-Object { $_.length -gt 100000000 } | ForEach { Write-Progress -activity "Fischiers de plus de 100Mo" -Status $_.FullName $size = “{0:N2}” -f ($_.Length/1mb) $logfile = ".\logs\Gros_fichiers.txt" $present = Test-Path -Path $logfile if ( $present -ne "true") { Write-host "Création de $logfile" $resfile = New-Item -ItemType file -Path $logfile -Force Add-Content -Path $logfile -Value "Nom;Chemin;Taille" Add-Content -Path $logfile -Value "$($_.name );$($_.DirectoryName);$($size)" } Else { Add-Content -Path $logfile -Value "$($_.name );$($_.DirectoryName);$($size)" } } |
Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :
Garder le contrôle du temps dans Active Directory
Dans un domaine Active Directory le contrôleur de domaine hébergeant le rôle PDC est la référence de temps. C’est lui qui est en charge de se mettre à l’heure depuis une référence de temps externe via le protocole NTP et de fournir l’heure pour tous les membres du domaine.
Les autres contrôleurs de domaine viennent se mettre à l’heure sur le PDC via le protocole NT5DS.
Les serveurs et ordinateurs membres du domaine se mettent à l’heure depuis les contrôleurs de domaine via le protocole NT5DS.
La mise à l’heure est effectuée par le service w32time sur l’ensemble des systèmes d’exploitation Microsoft.

Par défaut le service de temps des serveurs et ordinateurs du domaine est configuré de type NT5DS. Il n’y a donc que le PDC à configurer pour récupérer l’heure en NTP sur une source externe.
Pour rappel, le service de temps utilise le port UDP 123. Il faut donc configurer votre firewall en conséquence.
Si nécessaire, il est possible de figer cette configuration par GPO. Vous serez alors certains que les membres du domaine sont à l’heure.
Voici tout d’abord comment configurer par GPO le service w32time du PDC pour utiliser NTP.
1- Créer une GPO « Mise à l’heure du PDC »
2- Créer un filtre WMI pour sélectionner le PDC.
Le filtre est Select * from Win32_ComputerSystem where DomainRole = 5
Ce filtre assure que seul le PDC est affecté par cette GPO même si celui-ci est remplacé ou le rôle déplacé sur un autre contrôleur.


Il est possible de faire la configuration à la main, mais la GPO va permettre que garantir que la configuration ne bouge pas.
3- Appliquer le filtre WMI sur la GPO.
4- Configurer le service de temps dans la GPO.
« Système/Service de temps Windows/Fournisseurs de temps »
Ne changer que NtpServer et Type.

5- Appliquer la GPO sur l’OU « Contrôleurs de domaine ».
Voici maintenant comment configurer par GPO le service w32time sur les membres et contrôleurs du domaine en NT5DS.
1- Créer une GPO « Mise à l’heure du domaine ».
2- Configurer le service de temps dans la GPO.
« Système/Service de temps Windows/Fournisseurs de temps »
Il suffit d’activer la GPO sans changer la configuration.

5- Appliquer la GPO à la racine du domaine.
Vous garantissez ainsi que l’ensemble de votre domaine est à l’heure.
Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :
Créer une arborescente d’unités d’organisation (OU)
Vous souhaitez créer une arborescence d’unités d’organisations pour chacun des vos 53 sites géographiques. Cette arborescence d’OU sera identique pour chaque sites.
La quantité d’OU à créer vous impressionne. Voici comment gagner quelques heures.
$OUFilName = Read-Host "Entrez l'OU parent" $OUSiteName = Read-Host "Entrez le nom de la nouvelle OU" $Domain = [ADSI]"LDAP://AD-DC-01/dc=domain,dc=local" #Creation de l'OU de site. $OUSite = $Domain.Create("OrganizationalUnit", "ou=" + $OUSiteName + ",ou=" + $OUFilName) $OUSite.SetInfo() Write-Host "L'OU $OUSiteName a été créée." #Creation du premier niveau d'OU. $OUFirst = "Ordinateurs","Groupes","Utilisateurs" Foreach ( $ou in $OUFirst) { $SetOU = $Domain.Create("OrganizationalUnit", "ou=" + $ou + ",ou=" + $OUSiteName + ",ou=" + $OUFilName) $SetOU.SetInfo() Write-Host "L'OU $OU a été créée." } #Creation des OU d'ordinateurs $OUComp = "Portables","Fixes" Foreach ( $ou in $OUComp) { $SetOU = $Domain.Create("OrganizationalUnit", "ou=" + $ou + ",ou=Ordinateurs,ou=" + $OUSiteName + ",ou=" + $OUFilName) $setOU.SetInfo() Write-Host "L'OU $OU a été créée." } #Creation des OU d'utilisateurs. $OUUsr = "Standards","Citrix","Administrateurs" Foreach ( $ou in $OUUsr) { $SetOU = $Domain.Create("OrganizationalUnit", "ou=" + $ou + ",ou=Utilisateurs,ou=" + $OUSiteName + ",ou=" + $OUFilName) $setOU.SetInfo() Write-Host "L'OU $OU a été créée." } |
Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :
Importation DNS avec PowerShell
« Gagner du temps », c’est souvent l’objectif qui nous pousse à utiliser PowerShell. Voici donc comment importer des modifications dans un DNS avec PowerShell.
Ce script contient les commandes pour supprimer des enregistrements et en ajouter. Pour les mises à jour vous devrez passer par la suppression et l’ajout.
Il est possible de modifier le type d’enregistrement pour traiter par exemple des Alias.
$DNSServer = "AD-DC-01" $DNSZone = "domain.local" $InputFile = "./import-file.txt" $records = Import-CSV $InputFile ForEach ($record in $records) { $recordName = $record.name $recordType = "A" $recordAddress = $record.ip $action = $record.action if ( $action -eq "DELETE") { $cmdDelete = "dnscmd $DNSServer /RecordDelete $DNSZone $recordName $recordType /f" Write-Host "Running the following command: $cmdDelete" Invoke-Expression $cmdDelete } ElseIf ( $action -eq "ADD") { $cmdAdd = "dnscmd $DNSServer /RecordAdd $DNSZone $recordName $recordType $recordAddress" Write-Host "Running the following command: $cmdAdd" Invoke-Expression $cmdAdd } } |
Ce script va vous permettre de faire l’importation en masse d’enregistrements mais aussi de planifier des modifications dans le DNS.
Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :
Afficher l’état d’un service sur les serveurs d’une OU
Je souhaite contrôler rapidement l’état d’un service Citrix sur tous les serveurs présents dans une OU. S’agissant d’une quinzaine de serveurs, j’ai besoin d’une commande qui me retourne l’information en quelques secondes.
La commande PowerShell que j’utilise est la suivante:
Sur un serveur Windows 2008 R2.
Import-Module ActiveDirectory ; Get-ADComputer -SearchBase "OU=Serveurs Citrix,OU=Serveurs,DC=domain,DC=local" -Filter *| Foreach { $status = Get-Service -Name IMAService -ComputerName $_.name ; Write-host $_.name"`t"$service.name"`t"$service.status } |
Pour Windows Seven, Windows 2003 et Windows 2008.
$ou = [ADSI]"LDAP://OU=Serveurs Citrix,OU=Serveurs,DC=domain,DC=local" ; foreach ($srv in $ou.psbase.Children ) { if ($srv.ObjectCategory -like '*computer*'){$service= Get-Service -Name IMAService -ComputerName $srv.name ; Write-host $srv.name"`t"$service.name"`t"$service.status}} |
Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :
Contrôler l’heure locale de tous les ordinateurs d’une OU
Voici un script PowerShell qui retourne l’heure locale de tous les ordinateurs présents dans une OU de l’Active Directory.
Il contrôle préalablement si l’ordinateur ou serveur répond à un ping.
$ping = new-object System.Net.NetworkInformation.Ping $servers = Get-ADComputer -SearchBase "OU=Serveurs,DC=domain,DC=local" -filter * Foreach ($server in $servers){ $servername = $server.name $reply = $ping.send($servername) if ($reply.status –eq “Success”) { $rtime = $null $rtime = Get-WmiObject -Class Win32_OperatingSystem -ComputerName $servername -ErrorAction SilentlyContinue if ($rtime -ne $null) { $time = $rtime.ConvertToDateTime($rtime.LocalDateTime) Write-Host $servername" : "$time }} Else{ Write-Host "Server $servername not responding" } } |
Il y a quelques seconds entre le premier et le dernier en fonction du nombre d’ordinateurs et du délais d’exécution.
Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :
Culture Fish #20
Culture Fish #20 from Film and Fish on Vimeo.
Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :
Lister les liens de sites Active Directory avec Powershell
Voici comment lister les liens de sites Active Directory et les sites qu’ils lient avec PowerShell.
$site_links = get-adobject -filter 'objectclass -eq "sitelink"' -SearchBase 'cn=configuration,dc=domain,dc=local' -properties sitelist $site_links | fl Name,sitelist |
Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :




Commentaires récents