Question Soucis de modifications Set-ADuser

Plus d'informations
il y a 11 ans 1 mois #18961 par Philippe

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) :ohmy:
j'ai pas trouver \"replace\" dans ton script :blink:
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 \&quot;-GivenName $FirstName\&quot;<br><br>Message édité par: 6ratgus, à: 6/02/15 12:04

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 1 mois #18965 par Philippe
salut Laurent

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 \&quot;imprévus\&quot; pour envoyé une alerte par mail par exemple \&quot;alerte le script planter car il a bouffé tous la mémoire disponible !\&quot;

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 \&quot;new\&quot; ou \&quot;set\&quot;, 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.

Plus d'informations
il y a 11 ans 1 mois #18966 par Laurent Dardenne
6ratgus écrit:

pourquoi généré une erreur si on peut l'évité !

On est d'accord !
6ratgus écrit:

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

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.
C'est un choix de se dire : \&quot;il le restera pour la suite du script.\&quot;. 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.

Plus d'informations
il y a 11 ans 1 mois #18967 par Philippe
je suis pas contre le try/catch au contraire mais utilisé dans le bon sens
je m'en sers pour tous mes script en prod, faut une sécurité quand même !!

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.

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é

La gestion d'erreur est aussi un troll puissant

chaque script est diffèrent et çà gestion d'erreur aussi

c'est pour çà que les tests sont là !

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 1 mois #18968 par Laurent Dardenne
6ratgus écrit:

je suis pas contre le try/catch

Je le sais, ma remarque concerne juste une partie de ton conseil.

6ratgus écrit:

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é

Je vais préciser ma pensée, je parlais d'un 'Gestionnaire d’exception globale', chapitre 7 de ce tuto .
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.

Plus d'informations
il y a 11 ans 1 mois #18969 par Dupont

je comprend pas ce que tu fais ( ou c'est toi qui n'a pas compris)

j'ai pas trouver \&quot;replace\&quot; dans ton script

C'est une commande que j'ai faite à part ne t'en fais pas mdr ( je suis nul mas pas à ce point ;) )

Et sinon vous disputez pas à cause de moi hein :p

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.074 secondes
Propulsé par Kunena