PowerShell: Aleksei Issaikin, GetSpace.ps1

From ICO wiki
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
<#    
.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