问题标签 [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.

0 投票
1 回答
58 浏览

powershell - 变量在 Select-Object 表达式语句中未按预期工作

我正在尝试将自定义列添加到从我们的 MECM 实例中检索到的某些对象的表输出中。

以下代码显示了代码的精确格式,只是从中收集数据Get-Process

此代码按预期运行:

当我为我的实际代码做同样的事情时:

未填充自定义列:

以下代码显示$_.RefreshType正在正确解析:

以下代码$type在表达式脚本块中强制使用假值,并显示其余代码有效:

那么,为什么预期的代码在自定义列中什么也不输出呢?鉴于我上面提供的例子,我很难过。

FWIW 我也尝试过使用数组语法($refreshTypes[$type])而不是对象属性语法($refreshTypes.$type),但我得到了相同的行为。

谢谢你的时间。

环境:
Win10 x64 20H2
Powershell 5.1

0 投票
1 回答
155 浏览

powershell - 如何从元数据中找到 PDF 的标题?

重命名文件本身PDF后如何获取文件的标题?

PDF这是将文件批量导入到calibre中,值得注意的是,它似乎可以识别重复项,甚至显示一些标题。它是解析PDF文件本身,还是从数据中收集?

0 投票
2 回答
217 浏览

powershell - Powershell在一个Select-Object中获取不同级别的节点值

有没有办法做一个Select-Object并获取不同级别节点的值?

我需要字段级别的名称和一堆字段,还需要 globalFormat categoryType。有没有办法让它们合二为一Select-Object

XML

我基本上想检查dataFieldType,如果是20或21,检查globalFormat categoryType看是否没有,如果是,则在文件中输出为尚未正确设置的Field。但我喜欢那个 xml 中的数百个字段

0 投票
3 回答
1300 浏览

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; 模型=蒙迪欧}
上下文:
匹配:{}}

0 投票
1 回答
116 浏览

powershell - 使用具有动态值的 powershell 在 csv 中创建新列

您好我正在尝试比较两个 csv 并查看它们之间的增量。我想在 csv 中创建一个新列来捕获比较旧数据和新数据提取的停用和新用户。

虽然我能够创建新列,但无法将值填充到新列中。这里 User_status 是我正在创建的列,它应该包含停用的值。

这是我查看停用用户的一小部分代码:

0 投票
2 回答
88 浏览

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 语句的结果。

有谁知道为什么会这样?

0 投票
1 回答
130 浏览

powershell - PowerShell:确定磁盘使用率是否超过 80%

我正在尝试从所有磁盘获取磁盘使用情况,然后如果任何磁盘的磁盘使用率超过 80%,则发送一封电子邮件。使用现有文章,我想出了以下但无法过滤掉使用率超过 80% 的磁盘。有什么好心人能引导我吗?TIA

0 投票
2 回答
44 浏览

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 控制台。

0 投票
1 回答
70 浏览

powershell - select cmdlet 不接受在计算属性中生成的字符串名称

我想生成下表:

所以我使用foreach循环编写以下代码来生成列名:

但是我收到以下错误,说nameis not a string

要使代码正常工作,我必须将其转换$_string如下所示:

或者像下面这样:

问题是:$_已经是string. 为什么我必须string再次转换它?为什么select认为namePSObject

为了确认它已经是 a string,我编写了以下代码来打印 的类型name

以下结果证实它已经是string

我知道还有许多其他更简单的方法可以生成表格。但我想了解为什么我必须将 a 转换stringstring才能使代码正常工作,以及为什么select不认为stringa 是string. 对于它的价值,我$PSVersionTable.PSVersion的是:

0 投票
2 回答
176 浏览

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}}