tengo un poco de código que tiene este aspecto:Comprobación de la existencia de un objeto AD; ¿Cómo evito un mensaje de error feo?
if (Get-ADUser $DN -EA SilentlyContinue) {
# Exists
} else {
# Doesn't Exist
}
Por desgracia, cuando Get-ADUser el DN no puede encontrar un usuario (que está bien, significa que el nombre del objeto no se tiene), que lanza y escupe un error. Sé que fallará, está bien, por eso tengo un -ErrorAction
a SilentlyContinue
. Lamentablemente, parece que no hace nada ... Todavía me sale barf en la salida del script. El código funciona, es feo debido a que la consola escupe el error.
- ¿Existe alguna forma mejor para que pruebe si existe un objeto en particular?
- Si no, ¿hay alguna manera de hacer que ErrorAction guarde silencio correctamente?
NB: con la solución try ... catch puedes ser más específico; es decir, atrapando excepciones nombradas. 'try {Get-ADUser $ DN -EA Stop} catch [Microsoft.ActiveDirectory.Management.ADIdentityNotFoundException] {" nice try "} catch {" not the expected issue "}' – JohnLBevan
'get-aduser -erroraction 'silenntlycontinue'' parece para funcionar correctamente en powershell-v4.0. –