User:Metamm
From ICO wiki
BASH - Quest 3
#!/bin/bash
#Autor: Meelis Tamm, A21, metamm@itcollege.ee
#Skript eemaldab vanad kerneli kujutisfailid, v.a. kaks viimast versiooni
#Lisaks kujutisfailidele, eemaldatakse ka vastavad kerneli versioonid grub nimekirjast (seda teed paketihaldur automaagiliselt)
PAKETIHALDUR=$1
#Kontrollime, kas kasutaja omab juurkasutaja õigusi
if [ $UID -ne 0 ]; then
echo "Käivita skript $(basename $0) juurkasutaja õigustes"
exit 1
#Kontrollime, kas skript käivitati õige arvu argumentidega
elif [ $# -ne 1 ]; then
echo -e "Käivita skript ./$(basename $0) <paketihaldur> \n[N: rpm või dpkg]"
exit 1
#Kontrollime, kas kasutaja tahab kasutada rpm eemaldust
elif [ $(echo $PAKETIHALDUR | tr [:upper:] [:lower:]) = "rpm" ]; then
#Kontrollime, kas RPM käsk on shellile teada
#type rpm > /dev/null 2>&1 || exit 1
command -V rpm > /dev/null 2>&1
if [ $? -eq 1 ]; then
echo "rpm käsk ei ole shellile teada, proovige dpkg-ga. Väljun"
exit 1
#Kontrollime, kas kerneleid on juba 2 või vähem
elif [ $(rpm -q kernel | wc -l) -le 2 ]; then
echo "Olemasolevaid kerneli versioone on juba 2 või vähem"
exit 1
else
echo "Kasutan rpm eemaldust"
RPM_KERNEL_LIST=$(rpm -q kernel)
NR_TO_REMOVE=$(echo "$(rpm -q kernel | wc -l) - 2" | bc -l)
for i in $( echo "$RPM_KERNEL_LIST" | head -$(echo $NR_TO_REMOVE) ); do
rpm -e $i
done
fi
#Kontrollime, kas kasutaja tahab kasutada dpkg eemaldust
elif [ $(echo $PAKETIHALDUR | tr [:upper:] [:lower:]) = "dpkg" ]; then
#Kontrollime, kas DPKG käsk on shellile teada
#type dpkg > /dev/null 2>&1 || exit 1
command -V dpkg > /dev/null 2>&1
if [ $? -eq 1 ]; then
echo "dpkg käsk ei ole shellile teada, proovige rpm-iga. Väljun"
exit 1
#Kontrollime, kas kerneleid on juba 2 või vähem
elif [ $(dpkg --list | grep linux-image | awk '{print $3}' | cut -d"." -f4 --complement | wc -l) -le 2 ]; then
echo "Olemasolevaid kerneli versioone on juba 2 või vähem"
exit 1
else
echo "Kasutan dpkg eemaldust"
DPKG_KERNEL_LIST=$(dpkg --list | grep linux-image | awk '{print $3}' | cut -d"." -f4 --complement)
NR_TO_REMOVE=$(echo "$(echo "$DPKG_KERNEL_LIST" | wc -l) - 2" | bc -l)
for i in $( echo "$DPKG_KERNEL_LIST" | head -$(echo $NR_TO_REMOVE) ); do
apt-get remove linux-image-$i-generic -y
done
fi
#Anname teada, et kasutaja sisestatud argument ei sobi selle skriptiga
else
echo "$PAKETIHALDUR <--Selline paketihaldur ei sobi. Ainult dpkg või rpm"
exit 1
fi
#Väljastame, mida skript tegi
echo "Skript kustutas kõik vanad kerneli versioonid peale 2 viimase"
POWERSHELL - kodutöö
#Koostaja: Meelis Tamm, A21, metamm@itcollege.ee
#Skript loob taustapildi, millele on kirjutatud arvuti nimi, kasutaja, kes on sisse logitud ja aruvti IP aadress
#faili asukoht, kuhu loodav pilt salvestatakse
$filename = $ENV:USERPROFILE + "taust.png"
#Funktsioon, mis määrab sisselogitud kasutaja desktopi registrivõtmes taustapildi asukohaks skripti loodud pildi
Function Set-WallPaper($Value)
{
Set-ItemProperty -path 'HKCU:\Control Panel\Desktop\' -name wallpaper -value "$value"
rundll32.exe user32.dll, UpdatePerUserSystemParameters
}
# Arvuti nimi
$PC=Get-Content Env:\COMPUTERNAME
# Kasutajanimi
$USER=Get-Content Env:\USERNAME
# IP Aadress
$IP=((ipconfig | findstr [0-9].\.)[0]).Split()[-1]
Add-Type -AssemblyName System.Drawing
# Tekst, mida kirjutatakse pildile (mitu rida)
$tekst = @"
Masin: $PC
Kasutaja: $USER
IP: $IP
"@
# Loome uue bitmapi, viimased kaks nr määravad reso
$bmp = new-object System.Drawing.Bitmap 1024,780
# Valime kirjastiili, millega teks kirjutatakse
$font = new-object System.Drawing.Font Consolas,24
# Määrame taustapintsli värvi
$brushBg = [System.Drawing.Brushes]::Red
# Määrame kirjutamis pintsli värvi
$brushFg = [System.Drawing.Brushes]::White
$graphics = [System.Drawing.Graphics]::FromImage($bmp)
$graphics.FillRectangle($brushBg,0,0,$bmp.Width,$bmp.Height)
# Kirjutame teksti pildile
$graphics.DrawString($tekst,$font,$brushFg,500,360)
$graphics.Dispose()
# Salvestame pildi
$bmp.Save($filename)
# Uue tausta määramine
Set-WallPaper -value $filename