PowerShell обычно возвращает объекты и выводит их строковое представление на хост.Вы хотите, чтобы пользовательский формат строки выводился на хост.Вы можете достичь этого различными способами, однако самый быстрый способ, и я рекомендую использовать оператор -f
.
$OS = Get-CimInstance Win32_OperatingSystem
'{0} ({1}) {2} [{3}]' -f $OS.Caption, $OS.Version, $OS.OSArchitecture, $OS.InstallDate
с помощью here-strings
использование может сделать то же самое смногострочный.
$OS = Get-CimInstance Win32_OperatingSystem
@'
My OS is {0} {1})
Architecture --> {2}
Installation Date: [{3}]
'@ -f $OS.Caption, $OS.Version, $OS.OSArchitecture, $OS.InstallDate
Тем не менее, вы должны работать с объектами столько, сколько - и как можно дольше.