如何更改使用Start-Transcript
cmdlet创建的PowerShell脚本日志开头的开始时间条目的格式?
例如:
**********************
Windows PowerShell transcript start
Start time: 20170424150539
Username: *******
RunAs User: ******
***********************
我希望这个开始时间格式如下:2017-04-24 15:05:39
答案 0 :(得分:3)
据我所知,Start-Transcript
cmdlet上没有选项可以直接更改日期格式。但是,在使用PowerShell编写脚本后,这是一种方法:
$TranscriptFile = '.\PowerShell_transcript*.txt' #Modify for your file.
$Transcript = Get-Content $TranscriptFile
$StartTime = ($Transcript -match "Start time: " -replace "Start time: ","")
If ($StartTime) {
$NewStartTime = ([datetime]::ParseExact($StartTime, "yyyyMMddHHmmss", (Get-Culture).DateTimeFormat))
$NewStartTime = Get-Date($NewStartTime) -format "yyyy-MM-dd HH:mm:ss"
$Transcript -replace $StartTime,$NewStartTime | Out-File $TranscriptFile
}
<强>解释强>
[datetime]::ParseExact
将字符串替换为有效的日期时间对象,方法是使用日期时间标记:yyyyMMddhhmmss并根据您当地的日期文化设置。get-date
将新日期字符串转换为日期时间对象,并根据指定的首选项“yyyy-MM-dd hh:mm:ss”格式化如果您愿意,可以为结束时间执行相同操作。