Skriptimiskeeled: powershelli kodutööd 2011, kevad, päevaõpe
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()
Rene Sepp
Skript, mis disableb/enableb wireless adapterit.
Automatiseeritud portide avamine ja sulgemine - Katrin Kukk
tulemüürist tuleks lubada: windows management instrumentarium
UAC kinni või administrator account sisse
sisendiks on failid:
1) arvutite nimed
2) portide numbrid
skript töötab kujul: skript.ps1 -pcs <sisendfail> -ports <sisendfail> -action <open|close>
param(
$pcs,
$action,
$ports
)
#käime läbi masinate listi
Get-Content $pcs | ForEach-Object {
$computer = $_
#iga masina kohta käime läbi portide nimekirja
Get-Content $ports | ForEach-Object {
$port = $_
#teeme pordid lahti
if(action == "open") {
Invoke-Command {netsh advfirewall firewall add rule name=”Open Port $port” dir=in action=allow protocol=TCP localport=$port} -ComputerName $computer
#või paneme need kinni
} elseif(action == "close") {
Invoke-Command {netsh advfirewall firewall add rule name=”Open Port $port” dir=in action=block protocol=TCP localport=$port} -ComputerName $computer
#või suuname kasutajat õigesti käituma
} else {
Write-Host "Porte kas avatakse (open) või suletakse (close)"
}
}
}
Rain Kõrgmaa
Skript kontrollib windowsi versiooni, kustutab temporary kaustast kõik (võimalikud) failid ning väljastab kasutaja kausta Logi faili. Skript eeldab, et masinasse on installeeritud Powershell 2.0.
$ver = (Get-WmiObject Win32_OperatingSystem).Version
Echo "Sinu masina versioon on:" $ver.tostring()
$count = -1
$Time = Get-Date
if($ver.tostring().Contains("5.")) {
$Dir = Get-Childitem $Env:temp -recurse
$Dir | Remove-Item -force -ErrorAction silentlycontinue
foreach ($_ in $Dir ){
$count = $count +1
$a = $Time.ToShortDateString()+" "+$Time.ToShortTimeString()+ "Kustutasin " +$_ +" faili"
$a >> logi.txt}}
ElseIf($ver.tostring().Contains("6.")) {
$Dir = Get-Childitem $Env:temp -recurse
$Dir | Remove-Item -force -ErrorAction silentlycontinue
foreach ($_ in $Dir ){
$count = $count +1
$a = $Time.ToShortDateString()+" "+$Time.ToShortTimeString()+ " Kustutasin " +$_ + " faili"
$a >> logi.txt}}
Else{
echo "Ei leidnud sobivat windowsi versiooni"}
Andres Mill
- Skript kontrollib, kas mingi rakendus töötab. Näiteks Skype. Kui töötab, siis saadab e-maili, et rakendus töötab selles arvutis.
- Skript käivitab rakenduse töötamise kontrolli skripti iga 60 sekundi tagant.
PowerShell: Andres Mill, rakenduse töötamise kontroll
Kalev Jõgi
Skript küsib tudengi eesnime, perekonnanime, matriklinumbrit ja parooli ning loob Active Directory kasutaja Üldkasutus -> Eco Tudengid organisatsiooniüksusesse, lisab logimisel võrguketaste jne. lisamiseks kasutatava logon.bat faili ning lisab kasutaja gruppi Tudengid
#Autor: Kalev Jõgi
#Rühm: A22
#Versioon: 1.0
#Kuupäev: 26.05.2011
#Skript, mis teeb tudengile AD kasutaja ja lisab selle gruppi
#Loeme sisse vajalikud andmed
$Firstname = Read-Host "Eesnimi"
$Lastname = Read-Host "Perekonnanimi"
$SCode = Read-Host "Matrikklinumber"
$Password = Read-Host "Parool"
$Name = $Firstname+" "+$Lastname
$username = "t"+$SCode
#Tekitame AD-sse kasutaja
New-ADUser -Path "ou=Eco Tudengid,ou=Üldkasutus,dc=testikas,dc=local" -
GivenName $Firstname -Surname $Lastname -Name $Name -SamAccountName $username
-DisplayName $Name -Enabled $true -PasswordNeverExpires $true -AccountPassword (ConvertTo-SecureString $Password -AsPlainText -force) -ScriptPath "login.bat" -UserPrincipalName $username
Add-ADGroupMember -Identity Tudengid -Members $username