我有一個讓我在Active Directory對象的canocical名稱的變量:出字符串一個cmdlet的結果,並操縱它在PowerShell中
$LastOU = Get-ADOrganizationalUnit -Filter * -Properties * |
Sort { $_.WhenCreated } -Descending |
Select -First 1 {$_.CanonicalName} |
Out-String
如果我運行命令Write-Host $LastOU
它indeeds給我結果我的預期:
@{$_.CanonicalName=domain.local/Microsoft/Userz}
我試圖現在要做的就是操縱字符串只有
Microsoft
已選中。
我用Out-String
方法將命令的結果作爲字符串。
之後,我所做的是使用.Split()
功能來操縱我的結果。
我這樣做就像$CompName = $LastOU.Split(...)
。
但是我得到的錯誤:
Method invocation failed because [Selected.Microsoft.ActiveDirectory.Management.ADOrganizationalUnit] does not contain a method named 'Split'.
這意味着,我的結果不是一個字符串?但是我的命令有什麼問題?
' - 首先選擇1 {$ _ CanonicalName} | Out-String' - >'Select -First 1 -Expand CanonicalName' –
'Get-Member -InputObject $ LastOU'會告訴你變量的類型以及可用的方法和成員。此外,在某些具有「自動」字符串表示的情況下,您可以使用'-split'運算符來操作它,而不是試圖使用可能不存在的'.split()'方法。 –
非常感謝您的意見, –