我正在尝试格式化我输出到PowerShell文本框的文本。当前文本是:
Running Last Reboot CheckDays:5Hours:4Minutes: 3reboorecommended
我希望它的格式为:
运行最后一次重启检查
天:5小时:4分钟:3
重启推荐
下面是我的代码:Function global:LastReboot_Run
{
$logstring = "Running Last Reboot Check" -split "`n"
Add-content C:TempPMCS_TicketLogs.Log -value $logstring
$logs_TextBox.Text += "`n$logstring"
$os = Get-WmiObject win32_operatingsystem
$uptime = (Get-Date) - ($os.ConvertToDateTime($os.lastbootuptime))
$Display = "" + $Uptime.Days + " days, " + $Uptime.Hours + " hours, " + $Uptime.Minutes + " minutes"
$logs_TextBox.Text += "`n$Display"
$FiveDaysAgo = (get-date).addDays(-7)
#if([dateTime]$FiveDaysAgo = (get-date).addDays(-5))
if ($FiveDaysAgo -eq $true)
{
$logs_TextBox.Text += "`nReboot Recommended"
}
else
{
$logs_TextBox.Text += "`nReboot - Good"
}
$logstring = "Date Since Last Reboot = " + $Display
Add-content C:TempPMCS_TicketLogs.Log -value $logstring
$logs_TextBox.Text += "`n$logstring"
$logstring = "Last Reboot Check Finished"
Add-content C:TempPMCS_TicketLogs.Log -value $logstring
$logs_TextBox.Text += "`n$logstring"
}
LastReboot_Run
我尝试了n method and the -split "
n"方法,但它们似乎都不起作用。任何帮助都会很感激。谢谢!
您可以使用[System.Environment]::NewLine
在TextBox.Text
中插入新行。您的TextBox
必须将Multiline
属性设置为$true
。
您可以将其存储在一个变量中,以便于使用:
$newline = [System.Environment]::NewLine
$logstring = "$newline$newline`Last Reboot Check Finished"
我同意这是一个有点丑陋的代码,但它是你想要的。
backtick-n不工作,但我不能解释为什么。
仅供参考,-split
运算符用于将字符串切割(分割)成部分。