Question chaine de caractere

Plus d'informations
il y a 14 ans 6 mois #10142 par pham
chaine de caractere a été créé par pham
Bonjour à tous,
J'ai besoin d'aide.
Je vous explique, dans un fichier texte j'ai une chaine de caractere par exemple :

Entreprise:1,poste:2,acceuil:3
entreprise:2,poste,3,acceuil:4
je ne voudrais selectionner qu'une partie du texte par exemple tous les entreprise: de chaque ligne et les mettre dans un autre fichier texte.
Comment faire svp
Cdt,
Et merci


Enfaite je fais un
[code:1]$ldapQuery = \"(&(objectCategory=computer))\"
$de = new-object system.directoryservices.directoryentry
$ads = new-object system.directoryservices.directorysearcher -argumentlist $de,$ldapQuery
$complist = $ads.findall()
$complist
[/code:1]
qui me permet d'avoir tous les computers de mon AD, mais j'aimerais simplement extraire la liste des noms des pc et non tout ce qui va avec.
En esperant m'être bien fait comprendre.
Cdt,<br><br>Message édité par: zouker, à: 30/08/11 11:21

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

Plus d'informations
il y a 14 ans 6 mois #10143 par pham
Réponse de pham sur le sujet Re:chaine de caractere
LDAP://CN=ordi1,OU=SERVERS-WINDOWS,OU=TRB,OU=3-TRANSIENT,DC=test,DC=test

LDAP://CN=ordi2,OU=SERVERS-WINDOWS,OU=TRB,OU=3-TRANSIENT,DC=test,DC=test

voilà ce que j'ai apres la commande, et je voudrais juste extraire les ordi1 et ordi2 dans un autre fichier texte

merci d'avance

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

Plus d'informations
il y a 14 ans 6 mois #10144 par Richard Lazaro
Réponse de Richard Lazaro sur le sujet Re:chaine de caractere
Bonjour,

Enfait, tu exécutes une recherche sur ton LDAP.
PowerShell travaille avec des objets et donc la méthode FindAll() te retourne une liste d'objet ayant deux propriétés :

Path : Contenant le chemin LDAP de ton objet
Properties : Contenant une liste des différentes propriétés de ton objet AD.

Donc pour avoir une liste de l'attribut CN de tes objets AD (pour voir chaque attribut, utilise ADSI Edit) nous pouvons utiliser ton code auquel on rajoute une boucle :

[code:1]
$ldapQuery = \&quot;(&amp;(objectCategory=computer))\&quot;
$de = new-object system.directoryservices.directoryentry
$ads = new-object system.directoryservices.directorysearcher -argumentlist $de,$ldapQuery
$complist = $ads.findall()

$complist | ForEach-Object { $_.Properties.cn[0] }
[/code:1]

Bien Cordialement,
Richard Lazaro.

Think-MS : (Get-Life).Days | %{ Learn-More }

\\&quot;Problems cannot be solved by the same level of thinking that created them.\\&quot; - Albert Einstein

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

Plus d'informations
il y a 14 ans 6 mois #10145 par pham
Réponse de pham sur le sujet Re:chaine de caractere
Super ! Merci ca fonctionne !!

Maintenant je voudrais le mettre dans un fichier texte et après faire un wMI dessus, je comptais faire

[code:1]

$ldapQuery = \&quot;(&amp;(objectCategory=computer))\&quot;
$de = new-object system.directoryservices.directoryentry
$ads = new-object system.directoryservices.directorysearcher -argumentlist $de,$ldapQuery
$complist = $ads.findall()
$complist | ForEach-Object { $_.Properties.cn[0] } &gt; liste.txt
get-content liste.txt |foreach { $_ Get-WmiObject win32_computersystem } &gt; liste2.txt

[/code:1]

qu'en penses tu ?
Cdt

arf ca ne fonctionne pas comme ça..<br><br>Message édité par: zouker, à: 30/08/11 15:27

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

Plus d'informations
il y a 14 ans 6 mois #10146 par Richard Lazaro
Réponse de Richard Lazaro sur le sujet Re:chaine de caractere
Pour mettre des données dans un fichier, il est préférable de passer par la cmdlet Out-File (problème d'encodage principalement)

[code:1]
$complist | ForEach-Object { $_.Properties.cn[0] } | Out-File liste.txt
[/code:1]


Pour ta requête WMI, je ne comprends pas comment tu utilises ton $_. Cette dernière contient le nom de ton ordinateur(si le nom netbios correspond au CN), il faut alors la passer au paramètre ComputerName de la cmdlet Get-WmiObject :

[code:1]
Get-Content liste.txt | ForEach-Object { Get-WmiObject Win32_ComputerSystem -ComputerName $_ }
[/code:1]

Bien Cordialement,
Richard Lazaro.

Think-MS : (Get-Life).Days | %{ Learn-More }

\\&quot;Problems cannot be solved by the same level of thinking that created them.\\&quot; - Albert Einstein

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

Plus d'informations
il y a 14 ans 6 mois #10147 par pham
Réponse de pham sur le sujet Re:chaine de caractere
merci, j'essaye

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

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