我有这个:
Get-ADUser myuser |
Select @{n='OU';e={$_.DistinguishedName -replace '^.*?,(?=[A-Z]{2}=)'}}
但我只需要获取特定用户的部分 OU,我必须在开始时将其定义为变量。
我明白了
OU=Users,OU=Munich,DC=xyzdom,DC=xyz
我想检测用户是否在慕尼黑 OU 或任何地方。所以输出应该只是$city
输入$username
我不知道该怎么做。但我怀疑实现这个目标应该没有那么难。
也许有人有时间和热情向我展示如何:)
非常感谢你的问候
非常感谢您的帮助。(我不能使用 city 属性。)我的解决方案现在看起来像这样:
Import-Module ActiveDirectory
$samaccountname = "Smith"
$ou = Get-ADUser $samaccountname | Select @{n='OU';e={$_.DistinguishedName.split(',')[-3].split("=")[-1]}} | FT -HideTableHeaders
$ou
现在,输出只是:慕尼黑
我想继续使用这个变量,但可能格式错误。当我尝试将它与协调器一起使用时,我得到如下输出:Microsoft.PowerShell.Commands.Internal.Format.FormatStartData Microsoft.PowerShell.Commands.Internal.Format.GroupStartData Microsoft.PowerShell.Commands.Internal.Format.FormatEntryData Microsoft。 PowerShell.Commands.Internal.Format.GroupEndData Microsoft.PowerShell.Commands.Internal.Format.FormatEndData
所以也许它必须被格式化为字符串???我怎样才能做到这一点?