powershell - 读取主机中的变量在选择对象中不起作用

标签 powershell active-directory

我在尝试构建一个小型读取主机脚本以将结果传输到 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/

相关文章:

java - 使用 LdapExtLoginModule 的连接超时

angularjs - 从 WAAD 获取用户组的最简单方法是什么?

powershell - 如何避免 powershell 选择对象将枚举显示为数字?

powershell - Windows Powershell v4.0 确认当前小时为 08,但 $hour > 1 计算结果为 "False"

powershell - 测试连接内解析 DnsName

c# - 按用户名搜索整个 Active Directory 林

c# - 基于 Active Directory 为网站开发登录页面

网络 MVC : SSO + AD group?

PowerShell:从字符串中提取时间戳

powershell - 使用 PowerShell cmdlet 设置 MSMQ ACL 时遇到问题