User:Okilk: Difference between revisions

From ICO wiki
Jump to navigationJump to search
No edit summary
No edit summary
 
(15 intermediate revisions by the same user not shown)
Line 1: Line 1:
'''BASH Quest 9'''
<source lang="bash">
<source lang="bash">
#Autor: Oliver Kilk A-21
#Autor: Oliver Kilk A-21
#Skript: Küsib kasutajalt kasutajanime, kontrollib, et kas see on õige ja väljastab selle tekstfaili. (Hetkel $HOME/var/tmp/)
#Skript: Küsib kasutajalt kasutajanime, kontrollib, et kas see on õige ja väljastab selle tekstfaili.
 
#        Kui üle ei saa kirjutada, siis väljastab teate. (Quest 9)
#!/bin/bash
#!/bin/bash
#Määran asukohad kontrollimiseks
asukoht=/var/tmp/
asukoht1=/var/tmp/username.txt
# Küsime kasutajanime
# Küsime kasutajanime
echo "Mis on sinu kasutajanimi?"
echo "Mis on sinu kasutajanimi?"
read username
read username
# Kontrollime kasutajanime
# Kontrollime kasutajanime
echo Kas see on õige kasutajanimi, "$username" [jah/ei]?
echo Kas see on õige kasutajanimi, "$username" [jah/ei]?
read reply
read reply
# Määran kirjutamise asukoha
 
asukoht=~/var/tmp/
if [ "$reply" = "jah" ]; then
# Tingimuslause, kui vastab, et kasutajanimi on õige
# Kontrollib, kas on juurkasutaja, kui ja, kirjutab üle
if [ "$reply" = "jah" ];  
if   [ $UID -eq 0 ]; then
then
echo "Kirjutan kasutajanime tekstifailile asukohaga: "$asukoht1""
# Kontrollib, kas vastav asukoht on kirjutatav
echo "$username" > /var/tmp/username.txt
if [ -w "$asukoht" ];  
echo "Kasutajanimi "$username" on kirja pandud!"
then
exit 0
echo "Kirjutan kasutajanime tekstifailile vastavasse kausta: "$asukoht""
# Kontrollib kui kasutaja ei ole juurkasutaja ja fail on olemas
echo "$username" > ~/var/tmp/username.txt
elif [ $UID -ne 0 ] && [ -a "$asukoht1" ]; then
else
echo "Fail "$asukoht1" on olemas, seda ei saa üle kirjutada, pead olema juurkasutaja :("
echo "Sul ei ole kirjutamisõigust sinna kausta: "$asukoht" või kausta ei eksisteeri"
exit 1
exit 1
# Kontrollib kui kasutaja ei ole juurkasutaja ja faili ei ole asukohas
else [ $UID -ne 0 ] && [ ! -a "$asukoht1" ];
echo "$username" > /var/tmp/username.txt
echo "Kasutajanimi "$username" on kirja pandud ning asub: "$asukoht1"!"
exit 0
fi
fi
else
else
# Kui eelenavlt vastas, et ei ole õige kasutajnimi, siis proovib uuesti
 
# Kui eelenavlt vastas, et ei ole õige kasutajnimi, siis proovib uuesti ning samad kontrollid
echo "Sisesta kasutajanimi uuesti: "
echo "Sisesta kasutajanimi uuesti: "
read username
read username
if [ -w "$asukoht" ];  
if   [ $UID -eq 0 ]; then
then
echo "Kirjutan kasutajanime tekstifailile asukohaga: "$asukoht1""
echo "Kirjutan kasutajanime tekstifailile vastavasse kausta: "$asukoht""
echo "$username" > /var/tmp/username.txt
echo "$username" > ~/var/tmp/username.txt
echo "Kasutajanimi "$username" on kirja pandud!"
else
exit 0
echo "Sul ei ole kirjutamisõigust sinna faili: "$asukoht" või kausta ei eksisteeri"
elif [ $UID -ne 0 ] && [ -a "$asukoht1" ]; then
exit 1
echo "Fail "$asukoht1" on olemas, seda ei saa üle kirjutada, pead olema juurkasutaja :("
fi
exit 1
else [ $UID -ne 0 ] && [ ! -a "$asukoht1" ];
echo "$username" > /var/tmp/username.txt
echo "Kasutajanimi "$username" on kirja pandud ning asub: "$asukoht1"!"
exit 0
fi
fi
fi
# Teatame kasutajale, et nime kirjutamine õnnestus
</source>
echo "Kasutajanimi "$username" on kirjutatud "$asukoht"username.txt faili!"
 
----
'''PowerShell'''
<source lang="powershell">
# Script otsib kõik printerid, mis arvutile ühendatud ja lisab ka detailsemaid andmeid (port,share,printsevrer?)
# Autor: Oliver Kilk A-21
# Versioon 1.0
 
param( [string]$strComputer = "." )
 
$colItems = get-wmiobject -class "Win32_Printer" -namespace "root\CIMV2" -computername $strComputer
 
# Väljastame andmed koos infoga
 
foreach ($objItem in $colItems) {
write-host "Nimi                          :" $objItem.Name
write-host "Vaikimisi printer?            :" $objItem.Default
write-host "Võrk                          :" $objItem.Network
write-host "Pordi nimi                    :" $objItem.PortName
write-host "Draiveri, seadme nimi          :" $objItem.DriverName
write-host "Serveri nimi                  :" $objItem.ServerName
write-host "Share nimi                    :" $objItem.ShareName
write-host
}
</source>
 
'''PowerShell 2'''
<source lang="powershell">
# Kirjeldus :
 
# Skript lahendab IP järgi OU kuuluvuse arvutil ning väljastab selle tekstifaili
 
# Kasutab ping-host käsku
 
# Sisend on tekstifail IP-dega ja väljund on tekstifail arvuti kirjeldustega
 
param ($IPFile = $(Read-Host "Sisesta IP aadresside tekstifaili asukoht"),$LogFile = $(Read-Host "Sisesta väljundi asukoht"))
 
 
$ScriptLocation = Split-Path -Parent $MyInvocation.MyCommand.Path
 
IF( Get-PSSnapin | where { $_.Name -eq "PSCX" } ) {
 
$msg = "Skript alustas tööd $(Get-Date)" + "`n`r`n" + "Loen faili $IPFile`n`r`n"
 
Out-File $logFile -InputObject $msg
 
$File = Get-Content $IPFile
 
ForEach ( $line in $File){
 
# Lahenda arvuti nimi
 
$host = (Ping $line).Host.Split(".")[0]
 
$tmpOU = Invoke-Expression ("Cscript -nologo $ScriptLocation\SearchObjects-ReturnCanonicalName.vbs $host computer")
 
# Väljundisse sisestamine
 
$line+","+$tmpOU | Out-File -Append $LogFile
 
}
 
}
</source>
</source>

Latest revision as of 12:25, 31 May 2011

BASH Quest 9

#Autor: Oliver Kilk A-21
#Skript: Küsib kasutajalt kasutajanime, kontrollib, et kas see on õige ja väljastab selle tekstfaili.
#        Kui üle ei saa kirjutada, siis väljastab teate. (Quest 9)
#!/bin/bash
#Määran asukohad kontrollimiseks
asukoht=/var/tmp/
asukoht1=/var/tmp/username.txt
# Küsime kasutajanime
echo "Mis on sinu kasutajanimi?"
read username

# Kontrollime kasutajanime
echo Kas see on õige kasutajanimi, "$username" [jah/ei]?
read reply

if [ "$reply" = "jah" ]; then	
# Kontrollib, kas on juurkasutaja, kui ja, kirjutab üle
	if   [ $UID -eq 0 ]; then
			echo "Kirjutan kasutajanime tekstifailile asukohaga: "$asukoht1""
			echo "$username" > /var/tmp/username.txt			
			echo "Kasutajanimi "$username" on kirja pandud!"			
			exit 0		
# Kontrollib kui kasutaja ei ole juurkasutaja ja fail on olemas
	elif [ $UID -ne 0 ] && [ -a "$asukoht1" ]; then			
			echo "Fail "$asukoht1" on olemas, seda ei saa üle kirjutada, pead olema juurkasutaja :("
			exit 1
# Kontrollib kui kasutaja ei ole juurkasutaja ja faili ei ole asukohas
	else [ $UID -ne 0 ] && [ ! -a "$asukoht1" ];		
				echo "$username" > /var/tmp/username.txt
				echo "Kasutajanimi "$username" on kirja pandud ning asub: "$asukoht1"!"			
				exit 0			
	fi
else

# Kui eelenavlt vastas, et ei ole õige kasutajnimi, siis proovib uuesti ning samad kontrollid
			echo "Sisesta kasutajanimi uuesti: "
			read username			
	if   [ $UID -eq 0 ]; then
			echo "Kirjutan kasutajanime tekstifailile asukohaga: "$asukoht1""
			echo "$username" > /var/tmp/username.txt			
			echo "Kasutajanimi "$username" on kirja pandud!"			
			exit 0		
	elif [ $UID -ne 0 ] && [ -a "$asukoht1" ]; then			
			echo "Fail "$asukoht1" on olemas, seda ei saa üle kirjutada, pead olema juurkasutaja :("
			exit 1
	else [ $UID -ne 0 ] && [ ! -a "$asukoht1" ];		
				echo "$username" > /var/tmp/username.txt
				echo "Kasutajanimi "$username" on kirja pandud ning asub: "$asukoht1"!"			
				exit 0			
	fi
fi

PowerShell

# Script otsib kõik printerid, mis arvutile ühendatud ja lisab ka detailsemaid andmeid (port,share,printsevrer?)
# Autor: Oliver Kilk A-21
# Versioon 1.0

param( [string]$strComputer = "." )

$colItems = get-wmiobject -class "Win32_Printer" -namespace "root\CIMV2" -computername $strComputer

# Väljastame andmed koos infoga

foreach ($objItem in $colItems) {
	write-host "Nimi                           :" $objItem.Name
	write-host "Vaikimisi printer?             :" $objItem.Default
	write-host "Võrk                           :" $objItem.Network
	write-host "Pordi nimi                     :" $objItem.PortName
	write-host "Draiveri, seadme nimi          :" $objItem.DriverName
	write-host "Serveri nimi                   :" $objItem.ServerName
	write-host "Share nimi                     :" $objItem.ShareName
	write-host
}

PowerShell 2

# Kirjeldus :

# Skript lahendab IP järgi OU kuuluvuse arvutil ning väljastab selle tekstifaili

# Kasutab ping-host käsku

# Sisend on tekstifail IP-dega ja väljund on tekstifail arvuti kirjeldustega

param ($IPFile = $(Read-Host "Sisesta IP aadresside tekstifaili asukoht"),$LogFile = $(Read-Host "Sisesta väljundi asukoht"))


$ScriptLocation = Split-Path -Parent $MyInvocation.MyCommand.Path

IF( Get-PSSnapin | where { $_.Name -eq "PSCX" } ) {

$msg = "Skript alustas tööd $(Get-Date)" + "`n`r`n" + "Loen faili $IPFile`n`r`n"

Out-File $logFile -InputObject $msg 

$File = Get-Content $IPFile

ForEach ( $line in $File){

# Lahenda arvuti nimi

$host = (Ping $line).Host.Split(".")[0]

$tmpOU = Invoke-Expression ("Cscript -nologo $ScriptLocation\SearchObjects-ReturnCanonicalName.vbs $host computer") 

# Väljundisse sisestamine

$line+","+$tmpOU | Out-File -Append $LogFile

}

}