PowerShell: Karel Niine, Kodutoo.ps1: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Kniine (talk | contribs)
Created page with '<# .SYNOPSIS See skript väljastab kõik print sündmused nende toimumise aja ja omaniku. .DESCRIPTION Skript võtab eventlogist välja kõik print sündmused ning v…'
 
Kniine (talk | contribs)
No edit summary
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
<source lang="powershell">
<#
<#
.SYNOPSIS     
.SYNOPSIS     
    See skript väljastab kõik print sündmused nende toimumise aja ja omaniku.


See skript väljastab kõik print sündmused nende toimumise aja ja omaniku.
.DESCRIPTION
 
    Skript võtab eventlogist välja kõik print sündmused ning väljastab need ekraanile või kui
 
    on määratud fail,siis faili. CSV kujul, eraldajaks on ";"
 
    Parameetriteks on võimalik anda;
.DESCRIPTION
    -fail failinimi.csv
 
    -algus 10/10/11 - ennem (before)
Skript võtab eventlogist välja kõik print sündmused ning väljastab need ekraanile või kui
    -lopp 10/10/11 - pärast (after)
 
on määratud fail,siis faili. CSV kujul, eraldajaks ;
 
 


.EXAMPLE
.EXAMPLE
    kodutoo.ps1 -fail print_log.csv -algus 11/11/11 -lopp 1/1/11


kodutoo -fail print_log.csv -algus 11/11/11 -lopp 1/1/11
.VERSION
 
    0.1
.NOTES
    Autor: Karel Niine
#>
#>


param(
param(


   [string]$Algus="algus",
   [string]$Algus="algus",
   [string]$Lopp="lopp",
   [string]$Lopp="lopp",
   [string]$Fail="fail"
   [string]$Fail="fail"
)
)


#Esimene rida
#Esimene rida
$esimeneString="Aeg;Kasutaja;Printer;Lehtede_arv;Dokumendi Nimi";
$esimeneString="Aeg;Kasutaja;Printer;Lehtede_arv;Dokumendi Nimi";


# kui faili parameetrit ei ole antud siis prindime lihtsalt tiitelrea
# kui faili parameetrit ei ole antud siis prindime lihtsalt tiitelrea
if($Fail -eq "fail"){
if($Fail -eq "fail"){
     write-host $esimeneString;
     write-host $esimeneString;


}else{
}else{
     $stream = [System.IO.StreamWriter] $Fail
     $stream = [System.IO.StreamWriter] $Fail


   
     # kirjutame esimes rea faili
 
     # KIRJUTAME TIITEL REA faili
 
     $stream.WriteLine($esimeneString);   
     $stream.WriteLine($esimeneString);   
}
}


# Kontrollime kas on Algus ja lõpp antud
# Kontrollime kas on Algus ja lõpp antud
# www.powershellpro.com/powershell-tutorial-introduction/powershell-tutorial-conditional-logic/
if($Lopp -ne "lopp" -and $Algus -ne "algus"){
if($Lopp -ne "lopp" -and $Algus -ne "algus"){
     $PrintEvents = Get-EventLog -log System -entrytype Information -after $Lopp -before $Algus | Where-Object{$_.EventID -eq "10"}
     $PrintEvents = Get-EventLog -log System -entrytype Information -after $Lopp -before $Algus | Where-Object{$_.EventID -eq "10"}


}elseif($Lopp -ne "lopp" -and $Algus -eq "algus"){
}elseif($Lopp -ne "lopp" -and $Algus -eq "algus"){
     $PrintEvents = Get-EventLog -log System -entrytype Information -after $Lopp | Where-Object{$_.EventID -eq "10"}
     $PrintEvents = Get-EventLog -log System -entrytype Information -after $Lopp | Where-Object{$_.EventID -eq "10"}


}elseif($Lopp -eq "lopp" -and $Algus -ne "algus"){
}elseif($Lopp -eq "lopp" -and $Algus -ne "algus"){
     $PrintEvents = Get-EventLog -log System -entrytype Information -before $Algus | Where-Object{$_.EventID -eq "10"}
     $PrintEvents = Get-EventLog -log System -entrytype Information -before $Algus | Where-Object{$_.EventID -eq "10"}


}else{
}else{
     # korjame systeemist kõik print eventid else if
     # korjame systeemist kõik print eventid else if
     $PrintEvents = Get-EventLog -log System -entrytype Information | Where-Object{$_.EventID -eq "10"}
     $PrintEvents = Get-EventLog -log System -entrytype Information | Where-Object{$_.EventID -eq "10"}
}
}


# iga objekti kohta
# iga objekti kohta
foreach ($objEvent in $PrintEvents) {
foreach ($objEvent in $PrintEvents) {
 
      $reaString=$objEvent.TimeWritten.ToString()+";"+$objEvent.ReplacementStrings[2]+";"+$objEvent.ReplacementStrings[3]+";"+$objEvent.ReplacementStrings[6]+";"+$objEvent.ReplacementStrings[1]
     
 
      $reaString=$objEvent.TimeWritten.ToString()+";"+$objEvent.ReplacementStrings[2]+";"+$objEvent.ReplacementStrings[3]+";"+$objEvent.ReplacementStrings[6]+";"+$objEvent.ReplacementStrings[1]
 
     


       # Kontroll kas salvestame või v2ljastame
       # Kontroll kas salvestame või v2ljastame
     
       if($Fail -ne "fail"){
       if($Fail -ne "fail"){
         $stream.WriteLine($reaString);
         $stream.WriteLine($reaString);
     


       }else{
       }else{
         write-host $reaString;     
         write-host $reaString;     
       }
       }
}
}


# kui on antud faili parameeter tuleb peale avamist ka kinni panna.
# kui on antud faili parameeter tuleb peale avamist ka kinni panna.


if($Fail -eq "fail"){
if($Fail -eq "fail"){
 
}else{
 
 
}else{
 
     $stream.close();
     $stream.close();
}
}

Latest revision as of 08:22, 27 January 2012

<source lang="powershell">

<# .SYNOPSIS

    See skript väljastab kõik print sündmused nende toimumise aja ja omaniku.

.DESCRIPTION

   Skript võtab eventlogist välja kõik print sündmused ning väljastab need ekraanile või kui
   on määratud fail,siis faili. CSV kujul, eraldajaks on ";"
   Parameetriteks on võimalik anda;
    -fail failinimi.csv
    -algus 10/10/11 - ennem (before)
    -lopp 10/10/11 - pärast (after)

.EXAMPLE

   kodutoo.ps1 -fail print_log.csv -algus 11/11/11 -lopp 1/1/11

.VERSION

   0.1

.NOTES

   Autor: Karel Niine
  1. >

param(

 [string]$Algus="algus",
 [string]$Lopp="lopp",
 [string]$Fail="fail"

)

  1. Esimene rida

$esimeneString="Aeg;Kasutaja;Printer;Lehtede_arv;Dokumendi Nimi";

  1. kui faili parameetrit ei ole antud siis prindime lihtsalt tiitelrea

if($Fail -eq "fail"){

   write-host $esimeneString;

}else{

   $stream = [System.IO.StreamWriter] $Fail
   # kirjutame esimes rea faili
   $stream.WriteLine($esimeneString);   

}

  1. Kontrollime kas on Algus ja lõpp antud

if($Lopp -ne "lopp" -and $Algus -ne "algus"){

   $PrintEvents = Get-EventLog -log System -entrytype Information -after $Lopp -before $Algus | Where-Object{$_.EventID -eq "10"}

}elseif($Lopp -ne "lopp" -and $Algus -eq "algus"){

   $PrintEvents = Get-EventLog -log System -entrytype Information -after $Lopp | Where-Object{$_.EventID -eq "10"}

}elseif($Lopp -eq "lopp" -and $Algus -ne "algus"){

   $PrintEvents = Get-EventLog -log System -entrytype Information -before $Algus | Where-Object{$_.EventID -eq "10"}

}else{

   # korjame systeemist kõik print eventid else if
   $PrintEvents = Get-EventLog -log System -entrytype Information | Where-Object{$_.EventID -eq "10"}

}

  1. iga objekti kohta

foreach ($objEvent in $PrintEvents) {

      $reaString=$objEvent.TimeWritten.ToString()+";"+$objEvent.ReplacementStrings[2]+";"+$objEvent.ReplacementStrings[3]+";"+$objEvent.ReplacementStrings[6]+";"+$objEvent.ReplacementStrings[1]
     # Kontroll kas salvestame või v2ljastame
     if($Fail -ne "fail"){
       $stream.WriteLine($reaString);
     }else{
       write-host $reaString;    
     }

}

  1. kui on antud faili parameeter tuleb peale avamist ka kinni panna.

if($Fail -eq "fail"){

}else{
   $stream.close();

}