2016-06-30 4 views
0

PowerShell을 사용하여 텍스트 상자에 출력하는 텍스트의 서식을 지정하려고합니다. 5 시간 : 4Minutes : 마지막으로 재부팅 CheckDays 실행PowerShell 텍스트 상자 서식 지정

: 현재의 텍스트가 간다 5 시간 : 4 분

마지막 재부팅 확인을

일을 실행 : 나는에 서식을 지정할

을 3RebootRecommended : 재부팅 여기

추천 3

내 코드입니다 :

Function global:LastReboot_Run 
     { 

      $logstring = "Running Last Reboot Check" -split "`n" 
      Add-content C:\Temp\PMCS_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:\Temp\PMCS_TicketLogs.Log -value $logstring 
      $logs_TextBox.Text += "`n$logstring" 
      $logstring = "Last Reboot Check Finished" 
      Add-content C:\Temp\PMCS_TicketLogs.Log -value $logstring 
      $logs_TextBox.Text += "`n$logstring" 
     } 

     LastReboot_Run 

나는 n method and the -split " n "방법을 시도했지만 그 중 아무 것도 작동하지 않는 것 같습니다. 어떤 도움을 주시면 감사하겠습니다. 감사!

답변

1

[System.Environment]::NewLine을 사용하여 TextBox.Text에 새 줄을 삽입 할 수 있습니다. TextBoxMultiline 속성을 $true으로 설정해야합니다.

당신은 쉽게 사용할 수 있도록 변수에이를 저장할 수 있습니다 :

$newline = [System.Environment]::NewLine 

$logstring = "$newline$newline`Last Reboot Check Finished" 

을 나는 그것의 동의 조금 추한 코드 현명하지만, 당신이 원하는 않습니다.

backtick-n은 작동하지 않지만 이유를 설명 할 수 없습니다.

FYI의 -split 연산자는 부분의 문자열을 자르기 (분할)하는 데 사용됩니다.