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