Question [RESOLU]double foreach

Plus d'informations
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

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

Plus d'informations
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 \&quot;user\&quot; -and $user.samaccounttype -eq \&quot;805306368\&quot;«»)[/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.

Plus d'informations
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 :

$User.userAccountControl = 512
$User.SetInfo()
$User.pwdLastSet = 0
$User.SetInfo()


EXEMPLE 4

C:\PS&gt;Set-ADUser GlenJohn -Remove @{otherMailbox=\&quot;glen.john\&quot;} -Add @{url=\&quot;fabrikam.com\&quot;} -Replace @{title=\&quot;manager\&quot;} -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.

Plus d'informations
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

Write-Output \&quot;L'utilisateur $('\&quot;'+$user.samaccountname+'\&quot;') fait parti de la liste d'exclusion, le mot de passe n'expire jamais\&quot;

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

Plus d'informations
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 !!) :blush: :whistle:

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.

Plus d'informations
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 :

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

<br><br>Message édité par: MCH, à: 18/06/13 15:38
Pièces jointes :

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

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