我正在使用PowerShell腳本更改本地帳戶名稱。當然,第一步是檢查賬號是否存在:使用ADSI處理錯誤
$user=[ADSI]"WinNT://$server/$oldName,user"
如果賬號存在,那就沒問題了。但是,如果沒有,那麼我得到這個錯誤:
format-default : The following exception occurred while retrieving member >"distinguishedName": "The user name could not be found." + CategoryInfo : NotSpecified: (:) [format-default], ExtendedTypeSystemException + FullyQualifiedErrorId : CatchFromBaseGetMember,Microsoft.PowerShell.Commands.FormatDefaultCommand
我無法弄清楚如何尋找這個錯誤,報告類似「$使用oldName未找到」,然後繼續。從我所知道的情況來看,它並沒有被引入錯誤變量,所以我無法搜索「無法找到用戶名」字符串。 Try-Catch-Finally似乎忽略了這個錯誤。
我承認我在錯誤處理方面很弱。看起來有無數種方法可能導致失敗,並且我的用戶在使用我的腳本時總是會找到新的方法。
我添加了一個可能有幫助的鏈接問題的答案,在這裏:https://stackoverflow.com/questions/43145567/powershell-directoryservice-object-error-not-catched-neither-trapped/43617003 – 2017-04-26 09:24:46