将PowerShell对象输出为字符串

约翰尼崩溃

此代码启动ping:

$ProcessInfo = New-Object System.Diagnostics.ProcessStartInfo
$ProcessInfo.FileName = "ping.exe"
$ProcessInfo.RedirectStandardError = $true
$ProcessInfo.RedirectStandardOutput = $true
$ProcessInfo.UseShellExecute = $false
$ProcessInfo.Arguments = "localhost"
$Proc = New-Object System.Diagnostics.Process
$Proc.StartInfo = $ProcessInfo
$Proc.Start() | Out-Null

当我在命令中键入$ Proc时,

$Proc

我得到这个:

Handles  NPM(K)    PM(K)      WS(K) VM(M)   CPU(s)     Id ProcessName
-------  ------    -----      ----- -----   ------     -- -----------
     27       3     1936       1852    10     0.02   6832 PING

我想将数据线放入字符串中。

所以我尝试了这个:

$Proc | Format-table -HideTableHeaders

我得到了:

 27       3     1936       1852    10     0.02   6832 PING

我尝试了这个:

$Foo = $Proc | Format-table -HideTableHeaders
$Foo

并得到了:

Microsoft.PowerShell.Commands.Internal.Format.FormatStartData Microsoft.PowerShell.Commands.Internal.Format.GroupStartData Microsoft.PowerShell.Commands.Internal.Format.FormatEntryData Microsoft.PowerShell.Commands.Internal.Format.GroupEndData Microsoft.PowerShell.Commands.Internal.Format.FormatEndData

所以问题是...通常如何将Powershell对象的漂亮字符串输出转换为字符串?

最终,我要做的就是在Powershell脚本中的一行上直接键入$ Proc时,在得到的普通输出前加上单词START。

START     27       3     1936       1852    10     0.02   6832 PING

但是,“开始” + $ Proc会产生以下结果:

Start System.Diagnostics.Process (PING)

这就是为什么我认为我会尝试将$ Proc放入字符串中的原因。

第290节

就像是..

$string = $proc | Format-Table -HideTableHeaders | Out-String

"start" + $string

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章