Issue
Code backup
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
$Devices = @()
|
||||
$Resultes = @()
|
||||
$LogOutPut = @()
|
||||
$DeviceCount = 0
|
||||
$exitState = 0
|
||||
|
||||
$Devices = Get-ADComputer -Properties * -Filter { OperatingSystem -like "Windows*"} |
|
||||
Where-Object { $_.Enabled -eq $true } | Select-Object Name, DNSHostName, OperatingSystem, OperatingSystemVersion | Sort-Object Name
|
||||
|
||||
|
||||
foreach ($Device in $Devices){
|
||||
if (Test-Connection -ComputerName $Device.DNSHostName -Quiet){
|
||||
$DeviceCount += 1
|
||||
$Resultes = Get-WmiObject Win32_LogicalDisk -ComputerName $Device.DNSHostName -Filter "DriveType=3" -ErrorAction SilentlyContinue | Select-Object DeviceID, Size, Freespace
|
||||
|
||||
foreach ($Result in $Resultes | Where-Object {$_.DeviceID -like "C:"}){
|
||||
$Percentage = "{0:P0}" -f ($Result.Freespace / $Result.Size)
|
||||
|
||||
if(($Result.DeviceID -eq "C:") -and ([int]$Percentage.Split("%")[0] -cle 10)){
|
||||
$LogOutPut += [PSCustomObject]@{
|
||||
HostName = $Device.DNSHostName
|
||||
TotCapacity = "{0:N1}" -f ($Result.Size / 1gb) + " GB"
|
||||
FreeSpace = "{0:N1}" -f ($Result.Freespace / 1gb ) + " GB"
|
||||
FreePercentage = $Percentage
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($LogOutPut.Count -eq 0){
|
||||
Write-Output "OK - All devices are in range!"
|
||||
Write-Output " Devices found: $($Devices.Count)"
|
||||
Write-Output " Analyzed devices: $($DeviceCount)"
|
||||
} else {
|
||||
$exitState = 2
|
||||
Write-Output "CRITICAL! - $($LogOutPut.Count) Devices with space issue!"
|
||||
Write-Output " Devices found: $($Devices.Count)"
|
||||
Write-Output " Analyzed devices: $($DeviceCount)"
|
||||
$LogOutPut | Format-Table
|
||||
}
|
||||
|
||||
Exit $exitState
|
||||
Reference in New Issue
Block a user