Отчет и установка времени с записью в журнал событий
param($computer="localhost", $a, $help) $erroractionpreference = "SilentlyContinue" function funline ($strIN) { $num = $strIN.length for($i=1 ; $i -le $num ; $i++) { $funline += "=" } Write-Host -ForegroundColor yellow `n$strIN Write-Host -ForegroundColor darkYellow $funline } function funlog ($strErr) { if(![system.diagnostics.eventlog]::sourceExists("ps_script",".")) { $strLog = [system.diagnostics.eventlog]::CreateEventSource("ps_script","Application") } $strLog = new-object system.diagnostics.eventlog("application",".") $strLog.source = "ps_script" $strLog.writeEntry($strErr) } function funHelp() { $helpText=@" DESCRIPTION: NAME: GetSetTimewritetoeventlog.ps1 Prints or sets the current time on a local or remote machine. Writes results to the event log PARAMETERS: -computer Specifies the name of the computer upon which to run the script -a(ction) determines whether sets or gets the current time -help prints help file SYNTAX: GetSetTimewritetoeventlog.ps1 -computer MunichServer Lists current time on a computer named MunichServer GetSetTimewritetoeventlog.ps1 Lists current time on local computer GetSetTimewritetoeventlog.ps1-a q Lists current time on local computer GetSetTimewritetoeventlog.ps1-a q -computer MunichServer Lists current time on a computer named MunichServer GetSetTimewritetoeventlog.ps1-a s -computer MunichServer Sets current time on a computer named MunichServer GetSetTimewritetoeventlog.ps1-help ? Displays the help topic for the script "@ $helpText exit } if($help){funline("Obtaining help ...") ; funhelp } $date = [Management.ManagementDatetimeConverter]::` ToDmtfDateTime($(get-date)) $objWMI = Get-WmiObject -ComputerName $computer ` -Class win32_operatingsystem $localUTC=$objwmi.localDateTime switch($a) { "q" { funline("The time on $($objWMI.csname) is") [Management.ManagementDatetimeConverter]::` ToDateTime($localUTC) } "s" { funline("Setting current time on $computer ...") $strErr = $objWMI.SetDateTime($date) If($strErr.returnvalue -eq 0) { $strErr = "Set time on $($computer) = success" } ELSE { $strErr = "Set time on $($computer) failed with:`n" + $strErr.returnvalue } funlog($strErr) } DEFAULT { funline("The time on $($objWMI.csname) is") [Management.ManagementDatetimeConverter]::` ToDateTime($localUTC) } }
Голосов пока нет
Оставить комментарий