ps


1 ps

1-1 gettime

#gettime.ps1 -a 201507
Param([string] $a)

[string]$file = ""
[string]$start_datetime = ""
[string]$sep = "`t"
[string]$timesep = ":"
[string]$filesep = "_"
[string]$current_dir = "C:\work\"
[string]$file_name = "time.txt"
[string]$file_path = ""
$datum = @()

function Run() {
	Write-Host("start ...")
	#cjeck $a

	$param = $a -split "_"
	$currentYear = $param[0]
	$currentMonth = $param[1]

   #need sort?
   #get-winevent System -filterxpath "*[System[Provider[@Name='EventLog'] and (EventID='6005' or EventID='6006')]]" -maxevents 64 | Out-File "C:\Users\hiroshi-t\Downloads\201504.txt" -Encoding UTF8
   #get-winevent System -filterxpath "*[System[Provider[@Name='EventLog'] and (EventID='6005' or EventID='6006')]]" -maxevents 64
   $objSecLog = get-winevent System -filterxpath "*[System[Provider[@Name='EventLog'] and (EventID='6005' or EventID='6006')]]" -maxevents 64

   $prevDateTime = ""
   $prevDay = ""
   $prevEventID = ""
   $prevAddString = ""
   $startHour = ""
   $startMinute = ""
   $endHour = ""
   $endMinute = ""
   $startlist  = New-Object System.Collections.ArrayList
   $endlist  = New-Object System.Collections.ArrayList
   foreach($objEvent in $objSecLog ){
       [string]$eventID = [string]$objEvent.id
       [DateTime]$logDateTime = [DateTime]$objEvent.TimeCreated
       [string]$year = $logDateTime.ToString("yyyy")
       [string]$month = $logDateTime.ToString("MM")
       [string]$day = $logDateTime.ToString("dd")
       [string]$hour = $logDateTime.ToString("HH")
       [string]$minute = $logDateTime.ToString("mm")
       [string]$second = $logDateTime.ToString("ss")
       #$addString = "$logDateTime	$day	$hour	:	$minute"
       #$addString = "$logDateTime$sep$day$sep$hour$sep:$sep$minute"
       #$addString = "$logDateTime$sep$year$sep$month$sep$day$sep$hour$sep:$sep$minute"
       $addString = "$logDateTime$sep$year$sep$month$sep$day$sep$hour$sep$minute"
		if ($month.Contains($currentMonth)) {
			Write-Host("$logDateTime	$year / $month / $day	$hour : $minute	$eventID")
		}
        
       if ($prevEventID.Contains("6005")) {
           if (-not ($day.Contains($prevDay))) {
               $startlist += $prevAddString
           }
       }
        
       #if ($eventID.Contains("6005")) {
           #$startHour = $hour
           #$startMinute = $minute
       #} elseif ($eventID.Contains("6006")) {
       if ($eventID.Contains("6006")) {
           if (-not ($day.Contains($prevDay))) {
               #$endHour = $hour
               #$endMinute = $minute
               $endlist += $addString
           }
       }
       
       $prevDateTime = $logDateTime
       $prevDay = $day
       $prevEventID = $eventID
       $prevAddString = $addString
   }

   #foreach($start in $startlist ){
   #    Write-Host("start	$start")
   #}
   #foreach($end in $endlist ){
   #    Write-Host("end	$end")
   #}

	#Loop1-31
	$out = ""
	for ($i=1; $i -le 31; $i++) {
		$currentDay = [string]$i
		$line = ""
		if ($i -lt 10) {
			$currentDay = "0$currentDay"
		}
		#Write-Host($currentDay)

		#start time
		foreach($start in $startlist){
			$startInfo = $start -split $sep
			#year and month is current
			if ($startInfo[1].Contains($currentYear) -and $startInfo[2].Contains($currentMonth) -and $startInfo[3].Contains($currentDay)) {
				$str1 = $startInfo[4]
				$str2 = $startInfo[5]
				$int1 = [int]$str1
				$int2 = [int]$str2

				#30min ver
				#if (($int2 -lt 30) -and ($int2 -lt 30)) {
				if (($int2 -lt 30)) {
					$str2 = "30"
				} else {
					$int1 =  $int1 + 1
					$str1 =  [string]$int1
					$str2 = "00"
				}

				##15min ver
				#if ($int2 -lt 15) {
				#	$str2 = "15"
				#} elseif ($int2 -lt 30) {
				#	$str2 = "30"
				#} elseif ($int2 -lt 45) {
				#	$str2 = "45"
				#} else {
				#	$str2 = "00"
				#}

				#$line = "$str1$sep$timesep$sep$str2$sep"
				$line = "$str1$timesep$str2$sep"
				#Write-Host("start : $startInfo / $str1 $str2")
			}
		}

		#end time
		foreach($end in $endlist){
			$endInfo = $end -split $sep
			#year and month is current

			#30min ver
			if ($endInfo[1].Contains($currentYear) -and $endInfo[2].Contains($currentMonth) -and $endInfo[3].Contains($currentDay)) {
				$str1 = $endInfo[4]
				$str2 = $endInfo[5]
				$int2 = [int]$str2
				if ($int2 -gt 30) {
					$str2 = "30"
				} else {
					$str2 = "00"
				}
				#$line = "$line$str1$sep$timesep$sep$str2"
				$line = "$line$str1$timesep$str2"
				#Write-Host("end   : $endInfo / $str1 $str2")
			}

			##15min ver
			#if ($endInfo[1].Contains($currentYear) -and $endInfo[2].Contains($currentMonth) -and $endInfo[3].Contains($currentDay)) {
			#	$str1 = $endInfo[4]
			#	$str2 = $endInfo[5]
			#	$int2 = [int]$str2
			#	if ($int2 -gt 45) {
			#		$str2 = "45"
			#	} elseif ($int2 -gt 30) {
			#		$str2 = "30"
			#	} elseif ($int2 -gt 15) {
			#		$str2 = "15"
			#	} else {
			#		$str2 = "00"
			#	}
			#	$line = "$line$str1$sep$timesep$sep$str2"
			#	#Write-Host("end   : $endInfo : $str1 $str2")
			#}
		}
       #Write-Host("$i")
		#Write-Host($forPrint)
		$out = $out + $line + "`r`n"
	}
	
	
	# save file
	$file_path = Join-Path $current_dir "$a$filesep$file_name"
	$out | Out-File $file_path -Encoding UTF8
	Write-Host("end output : $file_path")
}

Run

1-2 base64_decode

Param([string] $a)

$current_dir = "C:\Users\hiroshi-t\Documents\mydoc\source\vbs"
$yyyymmdd = Get-Date -Format "yyyyMMdd"

# Run
function Run() {
	cd $current_dir
	$byte = [System.Convert]::FromBase64String($a)
	$str = [System.Text.Encoding]::UTF8.GetString( $byte )
	Write-Host $str
}

Run

1-3 base64_encode

Param([string] $a)

$current_dir = "C:\Users\hiroshi-t\Documents\mydoc\source\vbs"
$yyyymmdd = Get-Date -Format "yyyyMMdd"

# Run
function Run() {
	cd $current_dir
	$byte = [System.Text.Encoding]::UTF8.GetBytes($a)
	$base64 = [System.Convert]::ToBase64String($byte)
	Write-Host $base64
}

Run

1-4 xxx


2 py

2-1 bb

3 gettime

Menu