Powershell: Vaba kettaruumi hoiatus: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
<Source lang="powershell"> | |||
<# | <# | ||
Line 23: | Line 24: | ||
#> | #> | ||
#-------------------------------------------------------------------- | |||
# Funktsioon, mis tekitab PopUP akna | # Funktsioon, mis tekitab PopUP akna | ||
#-------------------------------------------------------------------- | |||
function WarningPopup([string]$message) | function WarningPopup([string]$message) | ||
Line 32: | Line 34: | ||
} | } | ||
#-------------------------------------------------------------------- | |||
# m66de = mõõde, millal hoiatus (Warning) antakse (%) | # m66de = mõõde, millal hoiatus (Warning) antakse (%) | ||
# arvuti = arvuti nimi või ip (punkt (.) tähendab lokaalset masinat) | # arvuti = arvuti nimi või ip (punkt (.) tähendab lokaalset masinat) | ||
#-------------------------------------------------------------------- | |||
$m66de = 70 | |||
$m66de = | |||
# Küsime kasutajalt: | # Küsime kasutajalt: | ||
Line 43: | Line 45: | ||
$arvuti = Read-Host | $arvuti = Read-Host | ||
#-------------------------------------------------------------------- | |||
# Kirjutab kasutajale konsooli, mida skript teeb | # Kirjutab kasutajale konsooli, mida skript teeb | ||
#-------------------------------------------------------------------- | |||
Write-Host “Otsin kettaid, millel on vähem kui $m66de % vaba ruumi.” | Write-Host “Otsin kettaid, millel on vähem kui $m66de % vaba ruumi.” | ||
#-------------------------------------------------------------------- | |||
# Kirjutab remote arvutis olevad kettad muutujasse | # Kirjutab remote arvutis olevad kettad muutujasse | ||
#-------------------------------------------------------------------- | |||
$drives = Get-WMIObject Win32_Volume -ComputerName $arvuti | | $drives = Get-WMIObject Win32_Volume -ComputerName $arvuti | | ||
Select-Object DriveLetter,Capacity,FreeSpace,DriveType | Select-Object DriveLetter,Capacity,FreeSpace,DriveType | ||
#-------------------------------------------------------------------- | |||
# Foreach tsükkel, mis kontrollib kõik kõvakettad läbi | # Foreach tsükkel, mis kontrollib kõik kõvakettad läbi | ||
# DriveType -eq 3 tähendab kõvaketta (Fixed) tüüpi. | # DriveType -eq 3 tähendab kõvaketta (Fixed) tüüpi. | ||
#-------------------------------------------------------------------- | |||
foreach($drive in $drives) | foreach($drive in $drives) | ||
Line 64: | Line 68: | ||
{ | { | ||
#-------------------------------------------------------------------- | |||
# Arvutab palju on igal kettal vaba ruumi | # Arvutab palju on igal kettal vaba ruumi | ||
#-------------------------------------------------------------------- | |||
$vabaruum = [Math]::Round(([Int64]$drive.FreeSpace / [Int64]$drive.Capacity) * 100,2) | $vabaruum = [Math]::Round(([Int64]$drive.FreeSpace / [Int64]$drive.Capacity) * 100,2) | ||
#-------------------------------------------------------------------- | |||
# Võrdleb iga ketta vaba ruumi ette antud mõõtega | # Võrdleb iga ketta vaba ruumi ette antud mõõtega | ||
#-------------------------------------------------------------------- | |||
if ($vabaruum -lt $m66de) | if ($vabaruum -lt $m66de) | ||
{ | { | ||
#-------------------------------------------------------------------- | |||
# Kutsub PopUP funktsiooni ketastele, millel on ruumi vähem | # Kutsub PopUP funktsiooni ketastele, millel on ruumi vähem | ||
#-------------------------------------------------------------------- | |||
WarningPopup (“Kettal " + ($drive.DriveLetter) + | WarningPopup (“Kettal " + ($drive.DriveLetter) + | ||
Line 89: | Line 93: | ||
} | } | ||
Write-Host “Skript lõpetas oma töö.” | Write-Host “Skript lõpetas oma töö.” | ||
[[Category:PowerShell]] | |||
[[Category:Skriptimiskeeled]] |
Revision as of 16:13, 23 May 2012
<Source lang="powershell"> <#
.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>.\diskspace-remote.ps1
.NOTES
Autor: Kristo Kapten Versioon: 1.0 Muutmise kuup2ev 23.05.2012
.LINK
https://wiki.itcollege.ee/index.php/
- >
- --------------------------------------------------------------------
- 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 = 70
- 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öö.”