问题标签 [select-object]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
powershell - 变量在 Select-Object 表达式语句中未按预期工作
我正在尝试将自定义列添加到从我们的 MECM 实例中检索到的某些对象的表输出中。
以下代码显示了代码的精确格式,只是从中收集数据Get-Process
。
此代码按预期运行:
当我为我的实际代码做同样的事情时:
未填充自定义列:
以下代码显示$_.RefreshType
正在正确解析:
以下代码$type
在表达式脚本块中强制使用假值,并显示其余代码有效:
那么,为什么预期的代码在自定义列中什么也不输出呢?鉴于我上面提供的例子,我很难过。
FWIW 我也尝试过使用数组语法($refreshTypes[$type]
)而不是对象属性语法($refreshTypes.$type
),但我得到了相同的行为。
谢谢你的时间。
环境:
Win10 x64 20H2
Powershell 5.1
powershell - Powershell在一个Select-Object中获取不同级别的节点值
有没有办法做一个Select-Object
并获取不同级别节点的值?
我需要字段级别的名称和一堆字段,还需要 globalFormat categoryType。有没有办法让它们合二为一Select-Object
?
XML
我基本上想检查dataFieldType,如果是20或21,检查globalFormat categoryType看是否没有,如果是,则在文件中输出为尚未正确设置的Field。但我喜欢那个 xml 中的数百个字段
powershell - 当输出包含@{时如何扩展多个属性,}?
我知道有很多关于扩展单个属性的帖子,希望这是一个简单的帖子,但是由于 select-string -simplematch,我的输出看起来像这样
@{品牌=大众; 型号=帕萨特}
@{品牌=福特;型号=蒙迪欧}
但是如何扩展这两个属性并使输出看起来像这样呢?
大众、帕萨特
福特、蒙迪欧
当我做一个选择对象 * 我得到以下但我似乎不能只得到值
IgnoreCase : True
Linenumber : 1
Line : @{Brand=Volkswagen; Model=Passat}
文件名:InputStream
路径:InputStream
模式:@{Brand=Volkwagen; 模型=帕萨特}
上下文:
匹配:{}}
IgnoreCase : True
Linenumber : 2
Line : @{Brand=Ford; Model=Mondeo}
文件名:InputStream
路径:InputStream
模式:@{Brand=Ford; 模型=蒙迪欧}
上下文:
匹配:{}}
powershell - 使用具有动态值的 powershell 在 csv 中创建新列
您好我正在尝试比较两个 csv 并查看它们之间的增量。我想在 csv 中创建一个新列来捕获比较旧数据和新数据提取的停用和新用户。
虽然我能够创建新列,但无法将值填充到新列中。这里 User_status 是我正在创建的列,它应该包含停用的值。
这是我查看停用用户的一小部分代码:
xml - Powershell:多个 Select-Object 语句仅返回第一次出现的结果
我在 Windows 8.1 上运行 PowerShell 4.0 版
我有一个名为 flow1.xml 的 xml 文档(来自 nifi 流),如下所示:
我有一个 powerShell 脚本 test.ps1 如下:
我在 Windows Cmd 框中从 PowerShell 运行;即 PS C\Temp>test.ps 当我运行它时,我得到了预期的输出:
当我更改第二个 Select_Object 时:
我明白了
我只$_id
从第一个子句中得到,而不是$_name
从第二个子句中得到。一般情况是 - 如果两个 Select-Object 语句都选择相同的参数,则两者都正确执行。例如,如果两个 Select-Object 语句都是Select-Object -Property {$_.name}
我得到的输出:
如果 Select-Object 语句不同,它似乎只执行第一个语句。我尝试在第二个 Select-Object 之前再次阅读 xmlDocument :
但同样的事情也会发生。我只得到第一个 Select-Object 语句的结果。
有谁知道为什么会这样?
powershell - PowerShell:确定磁盘使用率是否超过 80%
我正在尝试从所有磁盘获取磁盘使用情况,然后如果任何磁盘的磁盘使用率超过 80%,则发送一封电子邮件。使用现有文章,我想出了以下但无法过滤掉使用率超过 80% 的磁盘。有什么好心人能引导我吗?TIA
powershell - 运行帮助 和管道输出到 Where-Object 或 Select-Object 返回空行
运行命令help firewall | Select-Object Category
。结果是一栏空白Category
。
奇怪的是,空行数表示在help firewall
不调用管道的情况下会产生的行数Select-Object
或者我正在尝试过滤输出help firewall
以仅返回名称以“Get”开头的行。运行help firewall | Where-Object Name -like "Get"
什么也不返回。
为什么这些管道不帮助工作?他们在其他命令上工作得很好。
Powershell 5.1 版并使用默认的 Windows 控制台。
powershell - select cmdlet 不接受在计算属性中生成的字符串名称
我想生成下表:
所以我使用foreach
循环编写以下代码来生成列名:
但是我收到以下错误,说name
is not a string
:
要使代码正常工作,我必须将其转换$_
为string
如下所示:
或者像下面这样:
问题是:$_
已经是string
. 为什么我必须string
再次转换它?为什么select
认为name
是PSObject
?
为了确认它已经是 a string
,我编写了以下代码来打印 的类型name
:
以下结果证实它已经是string
:
我知道还有许多其他更简单的方法可以生成表格。但我想了解为什么我必须将 a 转换string
为string
才能使代码正常工作,以及为什么select
不认为string
a 是string
. 对于它的价值,我$PSVersionTable.PSVersion
的是:
powershell - 'get-ciminstance win32_userprofile -CimSession | select' WITHIN DO & SWITCH 语句不起作用
下面的 Cmdlet 可以正常工作,但是在底部代码块的do
&语句中什么都不做?switch
在 ISE 中进行调试不会提供任何帮助。删除| Select-Object
确实使它起作用,但会产生太多信息。删除-CimSession $hostname
确实使它起作用。所以问题似乎与远程 PC 和/或 SELECT 语句有关。
Get-CimInstance Win32_UserProfile -CimSession $hostname | Select-Object -Property LocalPath, LastUseTime
- 此 cmdlet 的相同问题:
{Get-WMIObject Win32_UserProfile -ComputerName $hostname | Select-Object -Property LocalPath,LastUseTime}
- 有效,但间隔很有趣:
{Get-WMIObject Win32_UserProfile -ComputerName $hostname | Format-List LocalPath, LastUseTime}
- 有效,但间隔很有趣并且有奇怪的 runspaceID 项目:
{Invoke-Command -ComputerName $hostname -HideComputerName -ScriptBlock {Get-WMIObject Win32_UserProfile | Select-Object LocalPath, LastUseTime}}