Powershell добавляет пробелы к выводу данных реестра - PullRequest
1 голос
/ 20 марта 2020

Я пытаюсь создать небольшой скрипт, который может легко отображать некоторую действительную информацию для обычного пользователя в отношении получения ИТ-помощи от ServiceDesk.

Текущий вывод

Поэтому, чтобы улучшить это, я пытался выяснить, могу ли я добавить пробелы в результат просмотра команды.

Это пример текущего результата идентификатора средства просмотра команды: 1483547869

Но я хотелось бы, чтобы результат мог быть следующим: 1 483 547 869

Это небольшая вещь, но это сделает ее намного проще для чтения обычным пользователем.

Это мой код:

Add-Type -AssemblyName System.Windows.Forms
$ip=get-WmiObject Win32_NetworkAdapterConfiguration|Where {$_.Ipaddress.length -gt 1} 
$ipaddress = $ip.ipaddress[0]
$hostname = [System.Net.Dns]::GetHostName()
$TeamViewerVersions = @('10','11','12','13','14','')

If([IntPtr]::Size -eq 4) {
    $RegPath='HKLM:\SOFTWARE\TeamViewer'    
} else {
    $RegPath='HKLM:\SOFTWARE\Wow6432Node\TeamViewer'
}

$ErrorActionPreference= 'silentlycontinue'

foreach ($TeamViewerVersion in $TeamViewerVersions) {
    If ((Get-Item -Path $RegPath$TeamViewerVersion).GetValue('ClientID') -ne $null) {
        $TeamViewerID=(Get-Item -Path $RegPath$TeamViewerVersion).GetValue('ClientID')
    }
}

$msgBoxInput = [System.Windows.Forms.MessageBox]::Show("Computer Name: $hostname`nIP Address: $ipaddress`nTeamViewer ID: $TeamviewerID`n`nWould you like to open Self Service Portal?", 'Quick Support','YesNo','Information')
    If ($msgBoxInput -eq 'Yes' ){
    start https://www.google.com/

    Else 
 }

Stop-Process -Id $PID

1 Ответ

0 голосов
/ 28 марта 2020

Вот действительно простое решение для форматирования числа:

$TeamViewerDisplayID = $TeamViewerID.toString("### ### ### ###")

Это отобразит 1483547869 как 1 483 547 869. Примечание: если ваш номер будет иметь 9 символов, например, приведенная выше строка кода добавит пробел в начало. Пример: "483547869" становится "_483 547 869". Так что, если вы хотите, вы можете добавить еще один оператор if, который проверяет длину номера и форматирует его соответствующим образом:

if ($TeamViewerID.length -gt 9) {
 $TeamViewerID.toString("### ### ### ###")
 } else {
 $TeamViewerID.toString("### ### ###")
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...