PowerShell: Aleksei Issaikin, GetSpace.ps1: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Aissaiki (talk | contribs)
No edit summary
Aissaiki (talk | contribs)
No edit summary
Line 3: Line 3:
<#     
<#     
.SYNOPSIS     
.SYNOPSIS     
   Otsib Active Directoy -s kõik olevad domeeni arvutid ja genereerib HTML-i nende kõvaketta vaba ruumist.
   Otsib Active Directoy -s kõik olevad domeeni arvutid ja genereerib HTML-i nende kõvaketta vaba ruumist
  NB:Kõikides arvutites peab olema Powersehllis lubatud(Enable-PSRemoting)
.DESCRIPTION   
.DESCRIPTION   
   Põhimõtteliselt kasutame Get-WMIObject "Win32_LogicalDisk" käsku
   Põhimõtteliselt kasutame Get-WMIObject "Win32_LogicalDisk" käsku
Line 11: Line 10:
#>
#>


function adComputres() {
function getAD() {
 
#Paneme paika tingimuse, mille järgi otsime arvutit
#Paneme paika tingimuse, mille järgi otsime arvutit
     $strCategory = "Computer"
     $strCategory = "Computer"
Line 26: Line 24:
     $objSearcher.Filter = ("(objectCategory=$strCategory)")
     $objSearcher.Filter = ("(objectCategory=$strCategory)")
      
      
#Paneme paika atribuudid, mis meile tagastatakse 
    $colProplist = "name"
foreach ($i in $colPropList){$objSearcher.PropertiesToLoad.Add($i)}
#Salvestame andmed muutujasse
#Salvestame andmed muutujasse
     $colResults = $objSearcher.FindAll()
     $colResults = $objSearcher.FindAll()
Line 37: Line 31:
     {$objComputer = $objResult.properties; $objComputer.name}  
     {$objComputer = $objResult.properties; $objComputer.name}  
          
          
   
     }
     }
   
#Kasutame eelnevalt leitud arvuti nimed     
#Kasutame eelnevalt leitud arvuti nimed     
     $name = adComputers
   
     $name = getAD


#Arvutite kõvaketta mahu kontrollimine ja salvestamine
#Arvutite kõvaketta mahu kontrollimine ja salvestamine


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


#Andmete väljundi konvertimine HTML-i             
#Andmete väljundi konvertimine HTML-i             
Line 53: Line 47:
#Valmis raporti kuvamine
#Valmis raporti kuvamine
     Invoke-Item .\result.html
     Invoke-Item .\result.html




</source>
</source>

Revision as of 20:42, 22 January 2012

<#    
.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