PowerShell: Aleksei Issaikin, GetSpace.ps1

From ICO wiki
Jump to navigationJump to search
<#    
.SYNOPSIS    
   Otsib Active Directoy -s kõik olevad domeeni arvutid ja genereerib HTML-i nende kõvaketta vaba ruumist
.DESCRIPTION  
   Põhimõtteliselt kasutame Get-WMIObject "Win32_LogicalDisk" käsku
.Example
    getspace.ps1
#>

function getAD() {
#Paneme paika tingimuse, mille järgi otsime arvutit
    $strCategory = "Computer"
    
#Domeeniga ühendamine 
    $objDomain = New-Object System.DirectoryServices.DirectoryEntry

#Loome Otsingu klassi
    $objSearcher = New-Object System.DirectoryServices.DirectorySearcher
    
#Paneme paika asukoha ja otsingu filtri
    $objSearcher.SearchRoot = $objDomain
    $objSearcher.Filter = ("(objectCategory=$strCategory)")
    
#Salvestame andmed muutujasse
    $colResults = $objSearcher.FindAll()

#Võttame muutujast välja ainult arvuti nimed 
 foreach ($objResult in $colResults)
     {$objComputer = $objResult.properties; $objComputer.name} 
        
     }
    
#Kasutame eelnevalt leitud arvuti nimed     
     
     $name = getAD

#Arvutite kõvaketta mahu kontrollimine ja salvestamine

    Get-WMIObject Win32_LogicalDisk -filter "DriveType=3" -computer $name |
        Select SystemName,DeviceID,@{Name="Size(GB)";
        Expression={"{0:N1}" -f($_.size/1gb)}},@{Name="Freespace(GB)";Expression={"{0:N1}" -f($_.freespace/1gb)}} | 

#Andmete väljundi konvertimine HTML-i             
    ConvertTo-Html | Out-File .\result.html 

#Valmis raporti kuvamine
    Invoke-Item .\result.html