Question [Resolu]ForEach-Object + If

Plus d'informations
il y a 13 ans 10 mois #7224 par Seals
[Resolu]ForEach-Object + If a été créé par Seals
Bonjour,

je souhaite faire un test sur le compte administrateur pour savoir si c'est un OS FR, EN ou DE.
Mon but est de rajouter un groupe AD dans le groupe local de l'ordinateur. Pour cela il faut que je sache si il se nomme Administrateurs ou Administrators

Voici mon Script :
[code:1]
$WINNTlogon = [ADSI]\"WinNT://$monPC\"
$compte = $WINNTlogon.psbase.children | where {$_.psbase.SchemaClassName -eq 'user'} |
ForEach-Object {$_.name} -Process { if($_.name.Contains(\"Administrateur\"«»)) {\"FR\" | Out-Host }
elseif($_.name.Contains(\"Administrator\"«»)) {\"DE-EN\" | Out-Host}
}[/code:1]
Il n'y a pas de possibilité d'inculure une boucle if dans un Foreach-object ?

Merci.

Message édité par: Seals, à: 22/06/10 16:32<br><br>Message édité par: Seals, à: 23/06/10 08:30

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

Plus d'informations
il y a 13 ans 10 mois #7225 par Arthur
Réponse de Arthur sur le sujet Re:ForEach-Object + If
[code:1]$compte = $WINNTlogon.psbase.children | where {$_.psbase.SchemaClassName -eq 'user'} | ForEach-Object { if($_.name.Contains(\&quot;Administrateur\&quot;«»)) {\&quot;FR\&quot; | Out-Host }
elseif($_.name.Contains(\&quot;Administrator\&quot;«»)) {\&quot;DE-EN\&quot; | Out-Host}}
[/code:1]

Quelque chose comme ca ?

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

Plus d'informations
il y a 13 ans 10 mois #7227 par Alan Pinard
Réponse de Alan Pinard sur le sujet Re:ForEach-Object + If
Bonjour Seals,

Tu pourrais peut-être utiliser les WMI. Dans mon cas, si je fait

[code:1]
(GWMI -Computer \&quot;.\&quot; -Class Win32_OperatingSystem).OSLanguage
[/code:1]

J'obtiens ceci:

1033


C'est un code LCID et dans mon cas il indique English US. Sur le lien ci-bas, tu trouveras les correspondances:

msdn.microsoft.com/en-us/goglobal/bb964664.aspx


1033 -&gt; Anglais (US)
1036 -&gt; Français (France)
2057 -&gt; Anglais (Royaume-Unis
)
Tu pourrais faire un SWITCH ou un IF par la suite.

En espérant que cela te donne un coup de pouce.

Alan Pinard
Version A

Alan Pinard
Version A

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

Plus d'informations
il y a 13 ans 10 mois #7232 par Seals
Réponse de Seals sur le sujet Re:ForEach-Object + If
Bonjour,

Bhen en faite, c'est le elseif qui n'aime pas ?? avec 2 if ca fonctionne.
Envore un cas que je ne comprendrai pas.:cheer:

Mais bon, c'est résolu, c'est le principal.
Merci pour l'aide !<br><br>Message édité par: Seals, à: 23/06/10 08:27

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

Plus d'informations
il y a 13 ans 10 mois #7241 par Alan Pinard
Réponse de Alan Pinard sur le sujet Re:ForEach-Object + If
Bonjour,

À moins que je me trompe, mais je crois qu'il te faut un \&quot;Else\&quot; à la suite d'un ou plusieurs \&quot;ElseIf\&quot;.

Est-ce que quelqu'un pourrait confirmer? Je voudrait pas induire les gens en erreur ;).

Alan Pinard
Version A

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

Plus d'informations
il y a 13 ans 9 mois #7259 par Arnaud Petitjean
Réponse de Arnaud Petitjean sur le sujet Re:ForEach-Object + If
Bonjour,

Le mieux est à mon avis d'ajouter un membre dans le SID du groupe correspondant au groupe Administrateur local (et non au nom du groupe directement).

En effet, de ce que je sais, le SID est toujours le meme quelque soit le langage de l'OS.

Arnaud

MVP PowerShell et créateur de ce magnifique forum :-)
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?

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

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