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