gpt4 book ai didi

powershell - 在Powershell中通过管道(|)传递 “string”变量不起作用

转载 作者:行者123 更新时间:2023-12-03 00:26:58 25 4
gpt4 key购买 nike

除了使用ksh / perl之外,别无他法,因此powershell很烦人。

尝试处理名称列表并执行命令,在该命令中将变量与另一个字符串组合/串联。

输入:

PS C:\WINDOWS\SysWOW64\windowspowershell\v1.0> $fc_volumes | select-object -first 10

volume
------
dnvlxd531_archives
dnvux100_quorum
oraapps_quorum
dnv05_lun04
sdw_cl_dnv05_lun11_0
FCP_vol132
dnv05_lun37
dnv05_lun36

尝试的命令和输出:
PS C:\WINDOWS\SysWOW64\windowspowershell\v1.0> $fc_volumes | foreach-object { $_ } {dfm perf data retrieve -o dnvnaf005:/$_ -C volume:total_ops -V "Volume IOPs View" }
Error: Failed to get counter data
Reason: There is no object named 'dnvnaf005:/Microsoft.PowerShell.Commands.Internal.Format.FormatStartData'.
Error: Failed to get counter data
Reason: There is no object named 'dnvnaf005:/Microsoft.PowerShell.Commands.Internal.Format.GroupStartData'.
Error: Failed to get counter data
Reason: There is no object named 'dnvnaf005:/Microsoft.PowerShell.Commands.Internal.Format.FormatEntryData'.
Error: Failed to get counter data
Reason: There is no object named 'dnvnaf005:/Microsoft.PowerShell.Commands.Internal.Format.FormatEntryData'.
Error: Failed to get counter data

解析器显然看到了格式化的流,但是我似乎无法弄清楚如何仅使用值而不是使用所有格式化。

谢谢,

麦克风

最佳答案

$fc_volumes似乎不包含字符串,而是包含具有“volume”属性的一组对象。您可以使用Select-Object cmdlet在管道上扩展此属性,以仅提供字符串:

$fc_volumes | select-object -ExpandProperty "volume" | foreach-object {dfm perf data retrieve -o dnvnaf005:/$_ -C volume:total_ops -V "Volume IOPs View" }

或者您可以通过直接访问该属性在foreach循环中内联进行操作:
$fc_volumes | foreach-object {dfm perf data retrieve -o dnvnaf005:/$_.volume -C volume:total_ops -V "Volume IOPs View" }

关于powershell - 在Powershell中通过管道(|)传递 “string”变量不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8129630/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com