w ramach ciekawostek – żeby ładnie obsłużyć błędy korzysta się z try-catch-finally… ALE. jak zwykle jest jakieś ale. pisząc skrypty do AD straciłem sporo czasu nie rozumiejąc o co c’mon, ponieważ polecenia get-ad* inaczej zachowują się, jeśli korzysta się z ‘-identity’ a inaczej jeśli ‘-filter’. w sumie jest to całkiem logiczne – ponieważ identity oczeqje istniejącej nazwy więc zwraca błąd jeśli jej nie ma. filter to prostu filtr, więc jeśli takiej nazwy nie ma, to po prostu zwraca $null. a więc trzeba uważać ‘co jest błędem’ …

try {
  $comp=get-ADComputer -Identity SOMECOMP -ErrorAction STOP
  echo $comp.distinguishedname
} catch {
  echo $_.Exception.Message
}

$comp=get-ADComputer -filter {name -eq "SOMECOMP"} 
if($comp -ne $null) {
  echo $comp.distinguishedname
} else {
  echo "not found"
}

 

eN.

Spread the love

Zostaw komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Time limit is exhausted. Please reload CAPTCHA.