Question
Soucis de modifications Set-ADuser
- Philippe
- Hors Ligne
- Modérateur
-
- Messages : 1778
- Remerciements reçus 21
J'ai une erreur bizarre, je creuse mais je trouve pas grand chose , la seule chose que j'ai réussie à faire c'est changé le prénom avec un : -Replace @{GivenName=$FirstName}
je comprend pas ce que tu fais ( ou c'est toi qui n'a pas compris)
j'ai pas trouver \"replace\" dans ton script
si j'ai bien compris tu a fais :
[code:1]Set-ADUser ... -Replace @{GivenName=$FirstName} ...[/code:1]
tu ne peut pas faire ca
set-aduser analyse le paramètre -replace mais ne le connais pas d'où l'erreur
set-aduser remplace déjà le GivenName par le contenue de $FirstName avec çà :
[code:1]Set-ADUser ... -GivenName $FirstName ...[/code:1]
inutile dans faire plus
c'est set-aduser qui fais le replace dans l'AD !
toi tu prépare avant $FirstName et tu le passe en paramètre \"-GivenName $FirstName\"<br><br>Message édité par: 6ratgus, à: 6/02/15 12:04
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
- Messages : 1778
- Remerciements reçus 21
je suis pour anticipé l'erreur probable pour agir en fonction avant
le but est de faire en sorte que le script ce déroule normalement sans imprévue
pourquoi généré une erreur si on peut l'évité !
je préfère privilégié le try/catch pour les erreurs dite \"imprévus\" pour envoyé une alerte par mail par exemple \"alerte le script planter car il a bouffé tous la mémoire disponible !\"
un exemple dans le même contexte que ce sujet :
si j'ai deux serveurs AD, et que j'ai un script qui fais des modif dans l'ad sur le serveur AD1 via le paramètre -server
si le serveur est inaccessible
- avec le try/catch tu te retrouve bloqué ou à gère les erreurs à chaque commande AD et sans gestion des erreurs des commandes AD dans le catch (il me semble)
- avec un Test-Connection avant et tu peut choisir le serveur AD2 avant le reste du script
pour en revenir au cas d'ici
il y a un choix a faire entre deux cas \"new\" ou \"set\", faut donc faire un if pas un try/catch
tu peut utilisé le try/catch pour d'autre erreur, une variable vide par exemple et encore faut le faire avant aussi normalement !<br><br>Message édité par: 6ratgus, à: 6/02/15 12:42
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
- Messages : 6311
- Remerciements reçus 68
On est d'accord !pourquoi généré une erreur si on peut l'évité !
6ratgus écrit:
Oui je suis d'accord, mais tu considères, si j'ai bien compris, que ton serveur une fois l'appel à Test-Connection effectué reste accessible.si j'ai deux serveurs AD, et que j'ai un script qui fais des modif dans l'ad sur le serveur AD1 via le paramètre -server
si le serveur est inaccessible
- avec le try/catch tu te retrouve bloqué ou gère erreur à chaque commande AD sans géré les erreurs des commandes AD dans le catch
- avec un Test-Connection avant tu peut choisir le serveur AD2 avant le reste du script
C'est un choix de se dire : \"il le restera pour la suite du script.\". Si on fait ce choix il faut ensuite l'assumer
Le try/catch ici ne gère pas toutes les erreurs, mais une seule : l'imprévu (Événement auquel on ne s'attend pas).
La gestion d'erreur est aussi un troll puissant
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
- Messages : 1778
- Remerciements reçus 21
je m'en sers pour tous mes script en prod, faut une sécurité quand même !!
si tu a une erreur de conception/d'analyse et que tu ne l'a pas vu avant, try/catch ne fera qu'évité le plantage a une instruction mais pas pour le reste du script et en prod peut devenir un problème mal utiliséCela évite en cas d'erreur imprévue ou d'erreur de conception/d'analyse de ne pas passer 2 heures à débugger ton script en production.
Le Try/Catch/Finally c'est Ceinture/Bretelle/Parachute.
chaque script est diffèrent et çà gestion d'erreur aussiLa gestion d'erreur est aussi un troll puissant
c'est pour çà que les tests sont là !
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
- Messages : 6311
- Remerciements reçus 68
Je le sais, ma remarque concerne juste une partie de ton conseil.je suis pas contre le try/catch
6ratgus écrit:
Je vais préciser ma pensée, je parlais d'un 'Gestionnaire d’exception globale', chapitre 7 de ce tuto .si tu a une erreur de conception/d'analyse et que tu ne l'a pas vu avant, try/catch ne fera qu'évité le plantage a une instruction mais pas pour le reste du script et en prod peut devenir un problème mal utilisé
Celui-ci gère des logs historisés, dédiés aux support, puis aux développeurs si le support ne peut résoudre/comprendre le problème.
C'est donc ceci que tu peux implémenter dés le départ.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Dupont
- Auteur du sujet
- Hors Ligne
- Membre senior
-
- Messages : 48
- Remerciements reçus 0
C'est une commande que j'ai faite à part ne t'en fais pas mdr ( je suis nul mas pas à ce pointje comprend pas ce que tu fais ( ou c'est toi qui n'a pas compris)
j'ai pas trouver \"replace\" dans ton script
Et sinon vous disputez pas à cause de moi hein
Connexion ou Créer un compte pour participer à la conversation.
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Soucis de modifications Set-ADuser