我有一个变量,它给我一个Active Directory中对象的canocical名称:
$LastOU = Get-ADOrganizationalUnit -Filter * -Properties * |
Sort { $_.WhenCreated } -Descending |
Select -First 1 {$_.CanonicalName} |
Out-String
如果我将命令作为Write-Host $LastOU
运行,那么它会给出我预期的结果:
@ {$ _。CanonicalName = domain.local /微软/ Userz}
我现在要做的就是操纵字符串只有
微软
进行选择。
我使用Out-String
方法将命令的结果作为字符串。
之后,我所做的是使用.Split()
- 函数来操纵我的结果。
我这样做$CompName = $LastOU.Split(...)
。
然而我收到错误:
方法调用失败,因为[Selected.Microsoft.ActiveDirectory.Management.ADOrganizationalUnit]不包含名为' Split'。
的方法
这意味着我的结果不是字符串?但是我的命令出了什么问题?
答案 0 :(得分:2)
将select语句更改为包含-ExpandProperty,它应该只返回字符串而不是对象。
更改此
Select -First 1 {$_.CanonicalName} |Out-String
到这个
Select -ExpandProperty CanonicalName -first 1