Archives de catégorie : Windows

Lister les images et la version de Windows 10 dans un ISO

Cette procédure permet de lister les images et la version de Windows 10 dans une source ISO.

Afin de lister tous les types de version présentes dans l’ISO, il faut monter l’ISO dans votre système et lancer la commande suivante.

dism /Get-WimInfo /WimFile:D:\sources\install.esd

Pour connaitre la version, tapez la commande suivante.

dism /Get-WimInfo /WimFile:D:\sources\install.esd /index:6

Allez sur ce site pour faire la correspondance entre la version (1803, 1809, 1903…) et la version retournée par commande. https://fr.wikipedia.org/wiki/Historique_des_versions_de_Windows_10

Consulter le journal des événements avec Powershell

Ambulance

Voici deux méthodes pour exploiter le journal des événements d’un serveur.
 
J’utilise la première solution pour consulter directement les logs sur le serveur.
La commande suivante me permet de consulter les 20 dernières erreurs du journal d’événements Lync Server.

Get-EventLog -LogName "Lync Server" -Newest 20 -EntryType error | fl EntryType,Category,CategoryNumber,Source,Message

 

La deuxième va exporter les 20 dernières erreurs dans un fichier texte pour être consulté plus tard ou être transmit.

Get-EventLog -LogName "Lync Server" -Newest 20 -EntryType error | Export-csv -Path Lync-Error.csv

Vous pouvez adapter les filtres en fonction de vos besoins.

Pour connaitre le nom du journal, je consulte les propriétés de celui qui m’intéresse pour récupérer le nom du fichier evtx.

Lync_Server_Events

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 peut pas être le système pour Windows Server 2000 et 2003.
– L’espace ajouté et le volume à étendre doivent être contigus.

Pour Windows 2000 et 2003 Server, utilisez Diskpart.

diskpart-2

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

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)"
    }
}

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)"
}
}

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}}