我在尝试构建一个将结果传递到AD脚本的小型读取主机脚本时遇到了问题:
进行AD搜索时,我可以选择这样的对象:
get-aduser exampleuser | select-object name,enabled
虽然我进入
名,启用
进入将输入存储为后来在脚本中使用的变量的读取主机,它变为:
name,enabled
------------
{}
而不是这个(当手动输入时)
get-adcomputer CTXTEST | select-object name,enabled
name enabled
---- -------
CTXTEST False
我认为我忽略了一些相当简单的事情,但我尝试了很多事情并且没有通过谷歌大师找到解决方案。
答案 0 :(得分:3)
这是因为Select-Object
cmdlet采用数组字符串,Read-Host
cmdlet仅返回单个字符串,即使该字符串包含逗号。
您可以通过在逗号上拆分输入来创建数组。 (我也使用正则表达式来修剪空格):
$selectResult = (Read-Host "Which properties?") -split '\s*,\s*'