读取主机的变量在select-object中不起作用

时间:2018-03-21 12:19:45

标签: powershell active-directory

我在尝试构建一个将结果传递到AD脚本的小型读取主机脚本时遇到了问题:

进行AD搜索时,我可以选择这样的对象:

get-aduser exampleuser | select-object name,enabled

虽然我进入

  

名,启用

进入将输入存储为后来在脚本中使用的变量的读取主机,它变为:

name,enabled
------------
{}          

而不是这个(当手动输入时)

get-adcomputer CTXTEST | select-object name,enabled

name    enabled
----    -------
CTXTEST   False

我认为我忽略了一些相当简单的事情,但我尝试了很多事情并且没有通过谷歌大师找到解决方案。

1 个答案:

答案 0 :(得分:3)

这是因为Select-Object cmdlet采用数组字符串,Read-Host cmdlet仅返回单个字符串,即使该字符串包含逗号。

您可以通过在逗号上拆分输入来创建数组。 (我也使用正则表达式来修剪空格):

$selectResult = (Read-Host "Which properties?") -split '\s*,\s*'