powershell - Powershell 输出被 powershell 切断。输出中的点
问题描述
我面临一个问题,我收到的输出被 PS 中的“...”点缩短。我尝试将 Out-String 与 -Width 选项一起使用。还有格式表等。这些不起作用,因为 $readable_output 不是字符串,而是 system.object - 至少我认为这就是为什么它没有给我完整的输出?
该输出由 $command 提供,其中包含来自我们软件 (Commvault) 的特定命令,它提供了许多不需要的行和空行,因此我不得不使用该输出来只保留对我来说必要的行。它在播放文本输出之前的示例:
QScript[GetClientGroup] CS[DGBDFTLV000] DB[CommServ] Qscript Output: Client Group ------------ UX_LINUX_SYST GetClientGroupcompleted at Sep 15 2020 1:35PM with parameters client [z85722] or client group []. ErrorCod
e (0). Qscript Execution Succeeded!
例如,这个脚本的当前输出是:
VM ClientGroup
-- -----------
z55555 UX_LINUX_PROD
d33222 UX_LINUX_SYST... # here is the problem, this VM has more than 1 group and it fails to output it.
g71635 UX_DB2_GOLD
脚本本身:
# VM's list
$vms = @("z55555",
"d33222",
"g71635")
# Return VM name and it's client group
function Get-ClientGroup{
$result = @()
foreach ($vm in $vms){
$object = New-Object -TypeName PSObject
$object | Add-Member -Name 'VM' -MemberType Noteproperty -Value "$vm"
$command = qoperation execscript -sn GetClientGroup.sql -si c=$vm
$readable_output = $command | Select-String -Pattern "PROD","SYST", "TEST", "GOLD", "CASSANDRA", "50%", "MS", "DB2", "SQL", "Backup" | Select-Object -Skip 1 | Out-String | ForEach-Object { $_.Trim() }
$object | Add-Member -Name 'ClientGroup' -MemberType Noteproperty -Value "$readable_output"
$result += $object
}
return $result
}
$result = Get-ClientGroup
$result | Out-File -FilePath D:\Scripts\CurrentGroups.txt
解决方案
尝试将其通过管道传输到 select-object 并展开属性客户端组:
$result | select-object -ExpandProperty ClientGroup
推荐阅读
- python - Python Tkinter 中的网格无故调整大小?
- iis - Entity Framework Core 2.1 - 执行多列查询时出现 StackOverflowException
- vba - 如果单元格中的值符合条件,则反转从特定列中选择的数据
- sql - 针对同一列中的另一个计算窗口函数
- android - 相对布局中的圆角
- windowsiot - Visual Studio 2017 无法将 UWP 应用部署到 IoT 设备
- javascript - 反应路由器身份验证
- reactjs - 如果控件隐藏在数组中,React 不会在状态更改时重新渲染
- asp.net-core - .net核心获取用户而不是当前用户的数据——身份
- python - 如何合并两个不共享一个公共索引的数据框?