2012-04-19 55 views
2

我在PowerShell中有這樣的功能。當用戶傳遞任何參數的空字符串時,PowerShell會驗證並引發異常。我如何處理這種例外情況?Powershell - 異常通過功能上的「驗證」屬性引發

function CheckADUser() 
{ 
    param(
      [ValidateLength(1,256)] 
      [string]$domainName, 
      [ValidateLength(1,256)] 
      [string]$username, 
      [ValidateLength(1,256)] 
      [string]$password) 
    Process{ 
    $fullyQualifiedUser = $domainName+"\"+$username 
    $domain = New-Object DirectoryServices.DirectoryEntry("", $fullyQualifiedUser, $password) 
    return $domain.name 
    } 
} 

回答

2

使用try/catch塊處理異常:

try { 
    checkaduser $null $null $null 
} 
catch [System.Management.Automation.ValidationMetadataException] { 
    # exception handling code 
}