Active-Directory
僅使用 Microsoft 提供的 cmdlet 測試 PowerShell 中是否存在 AD 對象
我想僅使用 Microsoft 的工具通過 PowerShell 測試 Active Directory 中是否存在電腦帳戶。
使用 Quest AD cmdlet,我可以這樣做:
if (!(get-qadcomputer $name)){ Stuff }
據我所知,
get-adobject
這不起作用。get-adcomputer
我缺少一些簡單的東西嗎?我見過一些看起來很笨拙的解決方案,它們可以擷取所有拋出的異常,但這似乎在某些情況下可能會產生一些誤報。
看看這個:
<http://blogs.msdn.com/b/adpowershell/archive/2009/05/05/how-to-create-a-function-to-validate-the-existence-of-an-ad-object-test-xadobject.aspx>
$c = Get-ADComputer <$ComputerName> if($c -eq $null) { ItDoesntExist } else { ItLives }
這應該完全符合你的需要……你說它不適合你,為什麼?
抱歉,看起來這個 cmdlet 實際上會引發異常,而不是簡單地返回
$null
,如此處所述……並且它也忽略了-erroraction
參數(向下滾動到連結頁面上的評論)。建議的解決方法:
$errorActionPreference = "SilentlyContinue" Get-ADComputer <$ComputerName>
或者,更好的是,請參閱我的其他答案。