Låt WMI rapportera din dators hälsa

Av 23 juni, 2016Server, Snabbtips

Det är inte ovanligt att klienter och servrar strular för att de har för lite diskutrymme kvar. På en server innebär det att de tjänster som t.ex. hemsida eller kanske utskrifter som körs blir otillgängliga .  WMI finns i alla nyare Windows Operativsystem och används för att rapportera och notifiera datorns hälsa…det gäller bara att klura ut hur. Det finns såklart färdiga program som gör detta men det är inte lika nördigt och kostar onödiga pengar när man ändå kan göra det ”out of box”.

Nyligen fanns behovet att skapa en global rapport  som visar ledigt lagringsutrymme på alla klienter i organisationen. Orsaken till önskemålet är att ett antal användare rapporterade att deras lagringsutrymme tagit slut… i detta fall 119GB. dagens SSD är snabba men oftast också små. Det begränsade utrymmet ger mindre utrymme för spillfiler som orsakas av systemet och lagras i form av .cab och .temp filer.

Lite proaktivitet skadar ju aldrig så jag lappade ihop ett skript som läser in lokala lagringsdata och skickar det till en textfil, listan kommer att ge en rapport som tydligt visar om det är fler som kommer att behöva hjälp snart.

Get-WmiObject Win32_logicaldisk -Filter "DriveType=3" -ComputerName  (Get-Content C:\Temp\DiskDrives\Computers.txt)`
| Format-Table SystemName, DeviceID, MediaType, `
@{Name="Size(GB)";Expression={[decimal]("{0:N0}" -f($_.size/1gb))}}, `
@{Name="Free Space(GB)";Expression={[decimal]("{0:N0}" -f($_.freespace/1gb))}}, `
@{Name="Free (%)";Expression={"{0,6:P0}" -f(($_.freespace/1gb) / ($_.size/1gb))}} `
-AutoSize >"C:\Temp\DiskDrives\Machines.txt"

 

Skriptet läser in computers.txt där alla klienter som skal kontrolleras är listade, hämtar önskade wmi-data och formaterar det så att det blir läsbart och skickar all data till machines.txt

ps-scrip-drivespace

 

 

 

 

 

 

 

 

Nu kan man i klartext se att ett antal datorer (de med mindre än 10% ledig)  behöver akut åtgärdas. Nästa steg är att automatisera det hela genom att schemalägga körningen och maila resultatet till ansvarig. 

Svara