Skriptimiskeeled: powershelli kodutööd 2011, kevad, päevaõpe: Difference between revisions
No edit summary |
|||
Line 74: | Line 74: | ||
[[PowerShell: Rene Pärnpuu, Printerid.ps1]] | [[PowerShell: Rene Pärnpuu, Printerid.ps1]] | ||
==Arvutite Andmed== | |||
tulemüürist tuleks lubada: windows management instrumentarium | |||
UAC kinni või administrator account sisse | |||
sisendiks on fail kuhu on kirjutatud arvutite nimed, millede eraldajaks on enter | |||
väljundiks on viisakal kujul tekstifail mille ta meilile saata suudab | |||
Kasutamine kujul skript.ps1 -in sisendfail -out väljudfail | |||
<source lang="powershell"> | |||
$from = "kust@minuserver.ee" | |||
$to = "kuhu@minuserver.ee" | |||
$smtp = "smtp.minuserver.ee" | |||
$smtp.EnableSsl = $True | |||
param( | |||
$in, | |||
$out | |||
) | |||
$file = $out | |||
New-Item -ItemType file $file -Force | |||
Get-Content $in | ForEach-Object { | |||
$computerSystem = "" | |||
$computer = $_ | |||
$computerSystem = get-wmiobject win32_computersystem -computer $computer | |||
$bios = get-wmiobject win32_bios -computer $computer | |||
$operatingsystem = get-wmiobject win32_operatingsystem -computer $computer | |||
$processor = get-wmiobject win32_processor -computer $computer | |||
if(-not $computerSystem) { | |||
Add-Content $file "Computer: $computer" | |||
Add-Content $file "Error!" | |||
} | |||
else { | |||
$user = $computerSystem.username | |||
$manufacturer = $computerSystem.manufacturer | |||
$model = $computerSystem.model | |||
$serviceTag = $bios.serialnumber | |||
$os = $operatingsystem.caption | |||
$servicePack = $operatingsystem.servicepackmajorversion | |||
$coreCount = @($processor)[0].numberofcores | |||
$procName = @($processor)[0].name | |||
$ram = [int]$operatingsystem.totalvisiblememorysize / 1024 | |||
$disk = gwmi -computer $computer -class win32_logicaldisk -Credential $creds -Filter "DriveType = '3'" | select DeviceID,Size | |||
Add-Content $file "Computer: $computer" | |||
Add-Content $file "Manufacturer: $manufacturer" | |||
Add-Content $file "OS: $os" | |||
Add-Content $file "ServicePack: $servicePack" | |||
Add-Content $file "CoreCount: $coreCount" | |||
Add-Content $file "Processor Name: $procName" | |||
Add-Content $file "Ram: $ram" | |||
$i = 0 | |||
if($disk -is [system.array]){ | |||
while ($i -ne ($disk.length)) { | |||
$id = @($disk)[$i].deviceid | |||
$size = (@($disk)[$i].size / 1GB) | |||
Add-Content $file "$id $size GB" | |||
$i++ | |||
} | |||
} | |||
else { | |||
$id = $disk.deviceid | |||
$size = ($disk.size / 1GB) | |||
Add-Content $file "$id $size GB" | |||
} | |||
} | |||
Add-Content $file "##############################################" | |||
} | |||
$smtpserver = “smtp.neti.ee” #Siia kirjuta oma SMTP serveri aadress | |||
$message = new-object Net.Mail.MailMessage | |||
$att = new-object Net.Mail.Attachment($file) | |||
$smtp = new-object Net.Mail.SmtpClient($smtpserver) | |||
$message.From = $from #Saatja meiliaadress | |||
$message.To.Add($to) #Saaja meiliaadress | |||
$message.Subject = “Computer Information ( $(date) )” #E-maili pealkiri | |||
$message.Body = “$failinimi on lisatud manustesse.” #E-Maili sisu ( tekst ) | |||
$message.Attachments.Add($att) | |||
$smtp.Send($message) | |||
$att.Dispose() | |||
$message.Dispose() | |||
</source> |
Revision as of 10:29, 24 May 2011
Kodutööd 2011, PowerShell
Siia tulevad siis kokkuvõtted..
Jaan Igamees
Lühike jutt, mida skript teeb... bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla.
PowerShell: Jaan Igamees, kavalskript
Kaido Loonurm
Arvutiinfo: Skript leiab arvuti seadeid ja konfiguratsiooni puudutava info (arvuti nimi, mälu hulk, protsessoritüüp jne) ning väljastab selle
PowerShell: Kaido Loonurm, PCinfo.ps1
Ivar Ambos
Ühendatud ketaste info
Vadim Vinogradin
Ping skript
- Skript, mis kontrollib, saidi IP-aadressi töötamine.
- Kui töötab, siis kirjutab andmeid C:\ping.txt failisse, kui ei tööta, siis kirjutab andmeid C:\ping.txt failisse ja teavitab e-maili kaudu.
PowerShell: Vadim Vinogradin, Ping skript
Tarmo Trumm
Skript mis otsib üles kindla laiendiga failid, mis on x päeva vanad ja kustutab need.
PowerShell: Tarmo Trumm,Kustutame x-päeva vanad failid
Toomas Rohumets
Skript, mis muudab võrgukaardi MAC aadressi.
Sergei Gorjunov
Skript, mis loob uut kasutajat
Karet Rikko
Skript võtab kõikide kasutajate home folderite suuruse ning sorteerib suuruse järgi ning kirjutab kasutajanime ning kasutatud suuruse faili.
Vladimir Kolesnik
Skript, mis kuvab kõike protsesse, mille mälu on üle 1MB ja vormistab sisend faili HTML kujul
PowerShell: Vladimir Kolesnik, maluCheck | Vkolesni 19:42, 23 May 2011 (EEST)
--
Skript, mis kontrollib kas ettemääratud protsess töötab või ei.
PowerShell: Vladimir Kolesnik, minuProtsess | Vkolesni 19:42, 23 May 2011 (EEST)
Lisaks saab leida siin: User:vkolesni
Ivar Krustok
skript, mis küsib emaili, eraldab sellest user ja domeeni. Uurib välja domeeni ip aadressi, kas kodukas on üleval ja mis aadressil ja prindib selle info arvutikasutaja folderisse txt faili koos kellajaga millal küsiti.
Ilja Peters
PowerShell: Ilja Peters, Kasutajate halduse skript
Skript mis haldab lokaalseid kasutajaid (lisab/kustutab/kuvab kasutajaid ning saab hallata gruppidesse kuuluvust)
Rene Pärnpuu
Otsib lokaalsest arvutist ülesse kõik installeeritud printerid ja shareb kõikidele kasutajatele antud arvutis.
PowerShell: Rene Pärnpuu, Printerid.ps1
Arvutite Andmed
tulemüürist tuleks lubada: windows management instrumentarium UAC kinni või administrator account sisse sisendiks on fail kuhu on kirjutatud arvutite nimed, millede eraldajaks on enter väljundiks on viisakal kujul tekstifail mille ta meilile saata suudab Kasutamine kujul skript.ps1 -in sisendfail -out väljudfail
$from = "kust@minuserver.ee"
$to = "kuhu@minuserver.ee"
$smtp = "smtp.minuserver.ee"
$smtp.EnableSsl = $True
param(
$in,
$out
)
$file = $out
New-Item -ItemType file $file -Force
Get-Content $in | ForEach-Object {
$computerSystem = ""
$computer = $_
$computerSystem = get-wmiobject win32_computersystem -computer $computer
$bios = get-wmiobject win32_bios -computer $computer
$operatingsystem = get-wmiobject win32_operatingsystem -computer $computer
$processor = get-wmiobject win32_processor -computer $computer
if(-not $computerSystem) {
Add-Content $file "Computer: $computer"
Add-Content $file "Error!"
}
else {
$user = $computerSystem.username
$manufacturer = $computerSystem.manufacturer
$model = $computerSystem.model
$serviceTag = $bios.serialnumber
$os = $operatingsystem.caption
$servicePack = $operatingsystem.servicepackmajorversion
$coreCount = @($processor)[0].numberofcores
$procName = @($processor)[0].name
$ram = [int]$operatingsystem.totalvisiblememorysize / 1024
$disk = gwmi -computer $computer -class win32_logicaldisk -Credential $creds -Filter "DriveType = '3'" | select DeviceID,Size
Add-Content $file "Computer: $computer"
Add-Content $file "Manufacturer: $manufacturer"
Add-Content $file "OS: $os"
Add-Content $file "ServicePack: $servicePack"
Add-Content $file "CoreCount: $coreCount"
Add-Content $file "Processor Name: $procName"
Add-Content $file "Ram: $ram"
$i = 0
if($disk -is [system.array]){
while ($i -ne ($disk.length)) {
$id = @($disk)[$i].deviceid
$size = (@($disk)[$i].size / 1GB)
Add-Content $file "$id $size GB"
$i++
}
}
else {
$id = $disk.deviceid
$size = ($disk.size / 1GB)
Add-Content $file "$id $size GB"
}
}
Add-Content $file "##############################################"
}
$smtpserver = “smtp.neti.ee” #Siia kirjuta oma SMTP serveri aadress
$message = new-object Net.Mail.MailMessage
$att = new-object Net.Mail.Attachment($file)
$smtp = new-object Net.Mail.SmtpClient($smtpserver)
$message.From = $from #Saatja meiliaadress
$message.To.Add($to) #Saaja meiliaadress
$message.Subject = “Computer Information ( $(date) )” #E-maili pealkiri
$message.Body = “$failinimi on lisatud manustesse.” #E-Maili sisu ( tekst )
$message.Attachments.Add($att)
$smtp.Send($message)
$att.Dispose()
$message.Dispose()