PowerShell: SQLi baasi kirjutamise skript: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Taliiv (talk | contribs)
Created page with '<Source lang="powershell"> <# .Synopsis Kirjutab arvutinime, loogiliste k6vaketaste arvu, nende suuruse ja vaba ruumi andmebaasi. .DESCRIPTION V6imalik on anda andmebaasi…'
 
Taliiv (talk | contribs)
No edit summary
 
(One intermediate revision by the same user not shown)
Line 14: Line 14:
.NOTES
.NOTES
Autor: TambetLiiv
Autor: Tambet Liiv
Versioon: 0.1  
Versioon: 0.1  
Muutmise kuup2ev: 02.02.2012
Muutmise kuup2ev: 02.02.2012
.LINK
.LINK
http://wiki.itcollege.ee
https://wiki.itcollege.ee/index.php/PowerShell:_SQLi_baasi_kirjutamise_skript
#>
#>

Latest revision as of 23:23, 1 February 2012

<#
	
	.Synopsis
	Kirjutab arvutinime, loogiliste k6vaketaste arvu, nende suuruse ja vaba ruumi andmebaasi.
	
	.DESCRIPTION
	V6imalik on anda andmebaasi serveri parameetrid (serveri nimi, baasi nimi, kasutajanimi, parool ja tabeli nimi)
	Tabelis endas peavad olema v2ljad Masin, Ketas, Suurus, Aeg (sinna andmeid ei saadeta, tavaliselt TIMESTAMP formaadis ja t2idetakse automaatselt) ja Vaba.
	Et skript t66taks peab olema installeeritud MySQL .NET Connector v6i annad v6tmega -MySql ette MySql.Data.dll asukoha (v6ib olla ka teise nimega).
	
	.EXAMPLE
	C:\PS>.\skript.ps1 -Tabel test -Kasutaja test -Parool test
	
	.NOTES
	Autor: Tambet Liiv 
	Versioon: 0.1 
	Muutmise kuup2ev: 02.02.2012
	
	.LINK
	https://wiki.itcollege.ee/index.php/PowerShell:_SQLi_baasi_kirjutamise_skript
	
#>

Param(	[String]$Server = "localhost",
		[String]$Baas = "kettad",
		[String]$Kasutaja = "root",
		[String]$Parool = "baas",
		[String]$Tabel = "kettad",
		[String]$MySql)
if ($MySql) {[void][system.reflection.Assembly]::LoadFrom("$MySql")}
[void][system.reflection.assembly]::LoadWithPartialName("MySql.Data")
$cn = New-Object -TypeName MySql.Data.MySqlClient.MySqlConnection
$cn.ConnectionString = "SERVER=$Server;DATABASE=$Baas;UID=$Kasutaja;PWD=$Parool"
try{$cn.Open()}
catch [Exception]
	{
	Write-Output "`nEi saa baasiga yhendust`n"
	Exit
	}
$cm = New-Object -TypeName MySql.Data.MySqlClient.MySqlCommand
$cm.Connection = $cn
$kettad = Get-WmiObject Win32_LogicalDisk | Select-Object SystemName, DeviceID, Size, FreeSpace
$kettad | ForEach-Object {
			$kettad = Get-WmiObject Win32_LogicalDisk | Select-Object SystemName, DeviceID, Size, FreeSpace
			$mnimi = $_.SystemName
			$knimi = $_.DeviceId
			if($_.Size) {$ksuurus = $_.Size} else {$ksuurus = 0}
			if($_.FreeSpace) {$kvaba = $_.FreeSpace} else {$kvaba = 0}
			$sql = "INSERT INTO $Tabel (Masin, Ketas, Suurus, Vaba) VALUES ('$mnimi','$knimi',$ksuurus,$kvaba)"
			$cm.CommandText = $sql
			$dr = $cm.ExecuteNonQuery()
			$v = "`nMidagi l2ks valesti`n"
			if ($dr -eq 1)
				{
				$v = $null
				}
			else
				{
				Write-Output "`nViga: $dr`n"
				}
			}
if($v) {Write-Output $v} else { Write-Output "`nKorras, asjad baasis`n"}
$cn.Close()