Question
[RESOLU]double foreach
- MCH
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 7
- Remerciements reçus 0
il y a 12 ans 9 mois #15163
par MCH
Réponse de MCH sur le sujet Re:double foreach
Bonjour,
Voici le resultat obtenu avec l'ajout de \"-properties samaccounttype\" :
[code:1]
proto3
user
proto
Échec lors de l’appel de la méthode, car [Microsoft.ActiveDirectory.Management.ADUser] ne contient pas de méthode appelée « SetInfo ».
Au caractère C:\scripts\temp2.ps1:29 : 13
+ $User.SetInfo()
+ ~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation : (SetInfo:«»String) [], RuntimeException
+ FullyQualifiedErrorId : MethodNotFound
Échec lors de l’appel de la méthode, car [Microsoft.ActiveDirectory.Management.ADUser] ne contient pas de méthode appelée « SetInfo ».
Au caractère C:\scripts\temp2.ps1:31 : 13
+ $User.SetInfo()
+ ~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation : (SetInfo:«»String) [], RuntimeException
+ FullyQualifiedErrorId : MethodNotFound
L'utilisateur \"proto3\" devra changer de mot de passe
proto4
user
proto
Échec lors de l’appel de la méthode, car [Microsoft.ActiveDirectory.Management.ADUser] ne contient pas de méthode appelée « SetInfo ».
Au caractère C:\scripts\temp2.ps1:29 : 13
+ $User.SetInfo()
+ ~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation : (SetInfo:«»String) [], RuntimeException
+ FullyQualifiedErrorId : MethodNotFound
Échec lors de l’appel de la méthode, car [Microsoft.ActiveDirectory.Management.ADUser] ne contient pas de méthode appelée « SetInfo ».
Au caractère C:\scripts\temp2.ps1:31 : 13
+ $User.SetInfo()
+ ~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation : (SetInfo:«»String) [], RuntimeException
+ FullyQualifiedErrorId : MethodNotFound
L'utilisateur \"proto4\" devra changer de mot de passe
proto
user
proto
L'utilisateur \"proto\" fait parti de la liste d'exclusion, le mot de passe n'expire jamais
[/code:1]
Et voici le resultat obtenu avec \"-properties samaccountname\" :
[code:1]
proto3
user
proto
wtf is this -> \"proto3\"
proto4
user
proto
wtf is this -> \"proto4\"
proto
user
proto
L'utilisateur \"proto\" fait parti de la liste d'exclusion, le mot de passe n'expire jamais
[/code:1]
Je remarque que c'est toujours le meme \"proto\" qui est bien traite et il est premier dans la liste du fichier.
Lorsque je change le premier nom de liste dans le fichier, ca fonctionne pour le premier mais pas les autres.
D'ou mon interrogation : est ce que les doubles foreach fonctionnent ?<br><br>Message édité par: MCH, à: 18/06/13 10:00
Voici le resultat obtenu avec l'ajout de \"-properties samaccounttype\" :
[code:1]
proto3
user
proto
Échec lors de l’appel de la méthode, car [Microsoft.ActiveDirectory.Management.ADUser] ne contient pas de méthode appelée « SetInfo ».
Au caractère C:\scripts\temp2.ps1:29 : 13
+ $User.SetInfo()
+ ~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation : (SetInfo:«»String) [], RuntimeException
+ FullyQualifiedErrorId : MethodNotFound
Échec lors de l’appel de la méthode, car [Microsoft.ActiveDirectory.Management.ADUser] ne contient pas de méthode appelée « SetInfo ».
Au caractère C:\scripts\temp2.ps1:31 : 13
+ $User.SetInfo()
+ ~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation : (SetInfo:«»String) [], RuntimeException
+ FullyQualifiedErrorId : MethodNotFound
L'utilisateur \"proto3\" devra changer de mot de passe
proto4
user
proto
Échec lors de l’appel de la méthode, car [Microsoft.ActiveDirectory.Management.ADUser] ne contient pas de méthode appelée « SetInfo ».
Au caractère C:\scripts\temp2.ps1:29 : 13
+ $User.SetInfo()
+ ~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation : (SetInfo:«»String) [], RuntimeException
+ FullyQualifiedErrorId : MethodNotFound
Échec lors de l’appel de la méthode, car [Microsoft.ActiveDirectory.Management.ADUser] ne contient pas de méthode appelée « SetInfo ».
Au caractère C:\scripts\temp2.ps1:31 : 13
+ $User.SetInfo()
+ ~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation : (SetInfo:«»String) [], RuntimeException
+ FullyQualifiedErrorId : MethodNotFound
L'utilisateur \"proto4\" devra changer de mot de passe
proto
user
proto
L'utilisateur \"proto\" fait parti de la liste d'exclusion, le mot de passe n'expire jamais
[/code:1]
Et voici le resultat obtenu avec \"-properties samaccountname\" :
[code:1]
proto3
user
proto
wtf is this -> \"proto3\"
proto4
user
proto
wtf is this -> \"proto4\"
proto
user
proto
L'utilisateur \"proto\" fait parti de la liste d'exclusion, le mot de passe n'expire jamais
[/code:1]
Je remarque que c'est toujours le meme \"proto\" qui est bien traite et il est premier dans la liste du fichier.
Lorsque je change le premier nom de liste dans le fichier, ca fonctionne pour le premier mais pas les autres.
D'ou mon interrogation : est ce que les doubles foreach fonctionnent ?<br><br>Message édité par: MCH, à: 18/06/13 10:00
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 12 ans 9 mois #15164
par Philippe
Réponse de Philippe sur le sujet Re:double foreach
salut MCH
get-aduser ne renvoi pas la propriete samaccounttype par defaut, d'ou ton probleme lors du if
[code:1]elseif ($user.ObjectClass -eq \"user\" -and $user.samaccounttype -eq \"805306368\"«»)[/code:1] qui est toujour faux car samaccounttype est toujours egal a zero.
mais je vois pas pourquoi tu a cette erreur sur set-aduser avec le script donner !
get-aduser ne renvoi pas la propriete samaccounttype par defaut, d'ou ton probleme lors du if
[code:1]elseif ($user.ObjectClass -eq \"user\" -and $user.samaccounttype -eq \"805306368\"«»)[/code:1] qui est toujour faux car samaccounttype est toujours egal a zero.
mais je vois pas pourquoi tu a cette erreur sur set-aduser avec le script donner !
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 12 ans 9 mois #15166
par Philippe
Réponse de Philippe sur le sujet Re:double foreach
desole MCH
j'ai trouver ton erreur
ta commencer ton script avec [ADSI] puis tu en a modifier une partie pour utilisé get-aduser (c'est bien)
mais faut aller jusqu'au bout et remplcer setinfo par set-aduser
un coup de :
Get-Help set-aduser -examples
te donnera les info pour remplacer :
EXEMPLE 4
C:\PS>Set-ADUser GlenJohn -Remove @{otherMailbox=\"glen.john\"} -Add @{url=\"fabrikam.com\"} -Replace @{title=\"manager\"} -Clear description
Modifie l'utilisateur ayant pour nom de compte SAM (samAccountName) GlenJohn en supprimant glen.john de la propriété otherMailbox, en ajoutant fabrikam.com à la propri
été url, en remplaçant la propriété title par le rôle de supérieur hiérarchique et en effaçant la propriété description.
bon courage t'es arriver au bout
j'ai trouver ton erreur
ta commencer ton script avec [ADSI] puis tu en a modifier une partie pour utilisé get-aduser (c'est bien)
mais faut aller jusqu'au bout et remplcer setinfo par set-aduser
un coup de :
Get-Help set-aduser -examples
te donnera les info pour remplacer :
$User.userAccountControl = 512
$User.SetInfo()
$User.pwdLastSet = 0
$User.SetInfo()
EXEMPLE 4
C:\PS>Set-ADUser GlenJohn -Remove @{otherMailbox=\"glen.john\"} -Add @{url=\"fabrikam.com\"} -Replace @{title=\"manager\"} -Clear description
Modifie l'utilisateur ayant pour nom de compte SAM (samAccountName) GlenJohn en supprimant glen.john de la propriété otherMailbox, en ajoutant fabrikam.com à la propri
été url, en remplaçant la propriété title par le rôle de supérieur hiérarchique et en effaçant la propriété description.
bon courage t'es arriver au bout
Connexion ou Créer un compte pour participer à la conversation.
- MCH
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 7
- Remerciements reçus 0
il y a 12 ans 9 mois #15168
par MCH
Réponse de MCH sur le sujet Re:double foreach
Bein, en fait, pour le moment mon probleme c'est qu'il ne traite correctement que le premier compte dans le fichier des exclusions.
Tous les comptes se trouvent dans le fichier des exclusions, ils devraient donc tous sortir en
Tous les comptes se trouvent dans le fichier des exclusions, ils devraient donc tous sortir en
Write-Output \"L'utilisateur $('\"'+$user.samaccountname+'\"') fait parti de la liste d'exclusion, le mot de passe n'expire jamais\"
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 12 ans 9 mois #15169
par Philippe
Réponse de Philippe sur le sujet Re:double foreach
peut tu donner plus d'info sur le le format du fichier ignored
car pour moi ca ce passe ici
[code:1]$ignored1 = Get-Content C:\scripts\ignored1.txt[/code:1](pas tres scientifique comme reponse !!)

regarde le contenue de $ignored1 si tous est bon !
un extrait du fichier en piece jointe serrait bien
car pour moi ca ce passe ici
[code:1]$ignored1 = Get-Content C:\scripts\ignored1.txt[/code:1](pas tres scientifique comme reponse !!)
regarde le contenue de $ignored1 si tous est bon !
un extrait du fichier en piece jointe serrait bien
Connexion ou Créer un compte pour participer à la conversation.
- MCH
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 7
- Remerciements reçus 0
il y a 12 ans 9 mois #15171
par MCH
Réponse de MCH sur le sujet Re:double foreach
C'est donc un fichier texte avec les 'samaccountname' en colonne, un par ligne.
Il donne ca :
Bien entendu le vrai est colossal mais il est sur ce model.
<br><br>Message édité par: MCH, à: 18/06/13 15:38
Il donne ca :
proto
proto3
proto4
Bien entendu le vrai est colossal mais il est sur ce model.
La pièce jointe ignored1.txt est absente ou indisponible
Pièces jointes :
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.051 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- [RESOLU]double foreach