Get-ADComputer的输出格式是什么?我试图做这样的事情来盘点。
[string[]]$server_list = Get-ADComputer -Filter * -Property Name # Select-Object Name
但是,当我在foreach中使用$ server_list时,我看到对象大括号如此
foreach ($machine_name in $server_list) {
"processing : $machine_name";
}
输出:
@ {名称=一些机器名-123-这里}
我只需要实际的名称值,我该怎么做?
答案 0 :(得分:2)
-Property Name
参数是不必要的,因为Get-ADComputer
始终会检索Name
属性。 (这似乎没有选择 Name
属性,正如您所想的那样。)
而不是-Property Name
,将| Select-Object -ExpandProperty Name
附加到Get-ADComputer
命令行。
答案 1 :(得分:0)
所以,我的查询返回了不同的结果。因此,您可能需要对此做一些工作。
基本上,<textarea id="input" rows="5" cols="30">console.log("test snippet");</textarea>
<button onclick="run()" id="run">RUN</button>
表示你想要一个具有特定字段的对象。选择或多或少都是一样的。
如果要保留现有解决方案,请展开属性而不是选择它。这是最好的方法:
-Property
你返回@ {},这是powershell在字符串中表示对象的方式。在这种情况下,包含有关ADComputers的属性的对象,您选择的对象仅包含“名称”。如果您包含其他属性,则会看到一个更大的逗号分隔列表type = value。
您实际上可以删除[string[]]$server_list = (Get-ADComputer -Filter * -Property Name).Name
,但这需要更长时间才能运行,因为您正在过滤右侧。 (收集大量数据,然后将其过滤为仅名称。)