Powershell: Vaba kettaruumi hoiatus: Difference between revisions

From ICO wiki
Jump to navigationJump to search
(Created page with '<# .SYNOPSIS Skript annab PopUp hoiatuse, kui arvuti kõvaketastel on vaba ruum otsakorral. .DESCRIPTION Skript küsib kasutajalt arvuti nime/ip ja kontrollib remote või l…')
 
No edit summary
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
<Source lang="powershell">
<#
<#
   
   
Line 11: Line 12:
   
   
.Example
.Example
   C:\PS>.\diskspace-remote.ps1
   C:\PS>.\vaba-kettaruumi-hoiatus.ps1
   
   
.NOTES
.NOTES
Line 19: Line 20:


.LINK
.LINK
  https://wiki.itcollege.ee/index.php/
  https://wiki.itcollege.ee/index.php?title=Powershell:_Vaba_kettaruumi_hoiatus
   
   
#>
#>
Line 92: Line 93:
}
}
Write-Host “Skript lõpetas oma töö.”
Write-Host “Skript lõpetas oma töö.”
</source>
[[Category:PowerShell]]
[[Category:Skriptimiskeeled]]

Latest revision as of 17:21, 23 May 2012

<#
 
.SYNOPSIS
 Skript annab PopUp hoiatuse, kui arvuti kõvaketastel on vaba ruum otsakorral.
 
.DESCRIPTION
 Skript küsib kasutajalt arvuti nime/ip ja kontrollib remote või local arvuti kõvakettaid. 
 Kontrollitakse skriptis etteantud vaba ruumi mõõte põhjal (protsentides), mis siis annab teada, 
 kas mõni kõvaketas on juba selle mõõte põhjal täis või mitte. Kui vaba ruumi on vähem kui lubatud,
 siis näidatakse kasutajale hoiatust PopUp (Warning) kujul.
 
.Example
  C:\PS>.\vaba-kettaruumi-hoiatus.ps1
 
.NOTES
  Autor: Kristo Kapten
  Versioon: 1.0
  Muutmise kuup2ev 23.05.2012

.LINK
 https://wiki.itcollege.ee/index.php?title=Powershell:_Vaba_kettaruumi_hoiatus
 
#>

#--------------------------------------------------------------------
#	Funktsioon, mis tekitab PopUP akna
#--------------------------------------------------------------------

function WarningPopup([string]$message)
{
	$oShell = New-Object -comobject WScript.Shell
	$ret = $oShell.popup($message,0,Warning,0 + 48)
}

#--------------------------------------------------------------------
#	m66de = mõõde, millal hoiatus (Warning) antakse (%)
#	arvuti = arvuti nimi või ip (punkt (.) tähendab lokaalset masinat)
#--------------------------------------------------------------------

	$m66de = 15

# Küsime kasutajalt:
	Write-Host "Sisesta arvuti nimi (local = .): "
	$arvuti = Read-Host

#--------------------------------------------------------------------
#	Kirjutab kasutajale konsooli, mida skript teeb
#--------------------------------------------------------------------

Write-Host Otsin kettaid, millel on vähem kui $m66de % vaba ruumi.

#--------------------------------------------------------------------
#	Kirjutab remote arvutis olevad kettad muutujasse
#--------------------------------------------------------------------
	
	$drives = Get-WMIObject Win32_Volume -ComputerName $arvuti | 
		Select-Object DriveLetter,Capacity,FreeSpace,DriveType

#--------------------------------------------------------------------
#	Foreach tsükkel, mis kontrollib kõik kõvakettad läbi
#	DriveType -eq 3 tähendab kõvaketta (Fixed) tüüpi.
#--------------------------------------------------------------------

foreach($drive in $drives)
{
	if ($drive.DriveType -eq 3)
    {

#--------------------------------------------------------------------
#	Arvutab palju on igal kettal vaba ruumi
#--------------------------------------------------------------------

	$vabaruum = [Math]::Round(([Int64]$drive.FreeSpace / [Int64]$drive.Capacity) * 100,2)

#--------------------------------------------------------------------
#	Võrdleb iga ketta vaba ruumi ette antud mõõtega
#--------------------------------------------------------------------

	   if ($vabaruum -lt $m66de)
	   {

#--------------------------------------------------------------------
#	Kutsub PopUP funktsiooni ketastele, millel on ruumi vähem
#--------------------------------------------------------------------

	   WarningPopup (Kettal " + ($drive.DriveLetter) + 
			" - on alles vaid $vabaruum % vaba ruumi!)
	   }

    }

}
Write-Host Skript lõpetas oma töö.