Question Import-CSV et ByPropertyName
- JONDON Cyril
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 78
- Remerciements reçus 0
il y a 13 ans 2 semaines #14205
par JONDON Cyril
Import-CSV et ByPropertyName a été créé par JONDON Cyril
J'ai un problème avec le fonctionnement de la commande Import-CSV
[code:1] PS AD:\> get-service wua* -c DCW2K301,JONDON-KU6OVP3E,TEST-PC [/code:1]
Status Name DisplayName
----
Stopped wuauserv Windows Update
Running wuauserv Windows Update
Stopped wuauserv Mises à jour automatiques
OK avec cette commande pas de souci retour correct sur les 3 machines.
J'ai généré un fichier csv avec export-CSV (d'ailleurs même en le générant à la main le problème et le même)
Contenu de ce fichier
[code:1] PS AD:\> import-CSV C:\Computers.csv [/code:1]
Computername
DCW2K301
JONDON-KU6OVP3E
TEST-PC
Ok j'ai bien ma propriété Computername que je vais pouvoir exploiter ds la cmdlet Get-Service car l'aide de la cmdlet indique :
PARAMÈTRES
-ComputerName <string[]>
Obligatoire ? false
Position ? Nommé
Accepter l'entrée de pipeline ? true (Par nom de propriété)
Nom du jeu de paramètres (Tout)
Alias Cn
Dynamique ? false
Or si je tape cette commande
[code:1] PS AD:\> import-csv C:\Computers.csv | get-service wua* [/code:1]
Status Name DisplayName
----
Stopped wuauserv Mises à jour automatiques
Stopped wuauserv Mises à jour automatiques
Stopped wuauserv Mises à jour automatiques
[code:1] PS AD:\> import-csv C:\Computers.csv | get-service wua* | ft machinename [/code:1]
MachineName
DCW2K301
DCW2K301
DCW2K301
Pourquoi il n' a pas traité les autres machines ????
La commande ci-dessous marcherait mais il me semble que je n'exploite pas l'intérêt de la propriété computername présente ds le csv et donc la puissance de Import-CSV ...
[code:1]import-csv C:\Computers.csv | %{get-service wua* -ComputerName $_.computername} [/code:1]
Status Name DisplayName
----
Stopped wuauserv Mises à jour automatiques
Running wuauserv Windows Update
Stopped wuauserv Windows Update
Il n' y a pas de raison que cette commande
[code:1] import-csv C:\Computers.csv | get-service wua* [/code:1]
ne retourne pas la même chose , je dois rater un truc essentiel et ça m'ennuie

Merci.
[code:1] PS AD:\> get-service wua* -c DCW2K301,JONDON-KU6OVP3E,TEST-PC [/code:1]
Status Name DisplayName
----
Stopped wuauserv Windows Update
Running wuauserv Windows Update
Stopped wuauserv Mises à jour automatiques
OK avec cette commande pas de souci retour correct sur les 3 machines.
J'ai généré un fichier csv avec export-CSV (d'ailleurs même en le générant à la main le problème et le même)
Contenu de ce fichier
[code:1] PS AD:\> import-CSV C:\Computers.csv [/code:1]
Computername
DCW2K301
JONDON-KU6OVP3E
TEST-PC
Ok j'ai bien ma propriété Computername que je vais pouvoir exploiter ds la cmdlet Get-Service car l'aide de la cmdlet indique :
PARAMÈTRES
-ComputerName <string[]>
Obligatoire ? false
Position ? Nommé
Accepter l'entrée de pipeline ? true (Par nom de propriété)
Nom du jeu de paramètres (Tout)
Alias Cn
Dynamique ? false
Or si je tape cette commande
[code:1] PS AD:\> import-csv C:\Computers.csv | get-service wua* [/code:1]
Status Name DisplayName
----
Stopped wuauserv Mises à jour automatiques
Stopped wuauserv Mises à jour automatiques
Stopped wuauserv Mises à jour automatiques
[code:1] PS AD:\> import-csv C:\Computers.csv | get-service wua* | ft machinename [/code:1]
MachineName
DCW2K301
DCW2K301
DCW2K301
Pourquoi il n' a pas traité les autres machines ????
La commande ci-dessous marcherait mais il me semble que je n'exploite pas l'intérêt de la propriété computername présente ds le csv et donc la puissance de Import-CSV ...
[code:1]import-csv C:\Computers.csv | %{get-service wua* -ComputerName $_.computername} [/code:1]
Status Name DisplayName
----
Stopped wuauserv Mises à jour automatiques
Running wuauserv Windows Update
Stopped wuauserv Windows Update
Il n' y a pas de raison que cette commande
[code:1] import-csv C:\Computers.csv | get-service wua* [/code:1]
ne retourne pas la même chose , je dois rater un truc essentiel et ça m'ennuie
Merci.
Connexion ou Créer un compte pour participer à la conversation.
- SiSMik
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 492
- Remerciements reçus 0
il y a 13 ans 2 semaines #14228
par SiSMik
Réponse de SiSMik sur le sujet Re:Import-CSV et ByPropertyName
Bonsoir,
En fait t'es pas loin du tout, je vais te filer un coup de pied
Car tu n'es pas loin avec ça
[code:1]
import-csv C:\Computers.csv | %{get-service wua* -ComputerName $_.computername}
[/code:1]
Moi j'aurais tenté ça
[code:1]
get-service wua* -ComputerName (import-csv C:\Computers.csv)
[/code:1]
En fait t'es pas loin du tout, je vais te filer un coup de pied
Car tu n'es pas loin avec ça
[code:1]
import-csv C:\Computers.csv | %{get-service wua* -ComputerName $_.computername}
[/code:1]
Moi j'aurais tenté ça
[code:1]
get-service wua* -ComputerName (import-csv C:\Computers.csv)
[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
- JONDON Cyril
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 78
- Remerciements reçus 0
il y a 13 ans 1 semaine #14230
par JONDON Cyril
Réponse de JONDON Cyril sur le sujet Re:Import-CSV et ByPropertyName
Merci mais je crois que je n'ai pas très bien expliquer mon problème je suis bien arrivé au résultat attendu par #commandes :
La tienne est une solution de plus mais ce n'est pas le propos.
Je voudrais juste comprendre pq on ne peut pas exploiter la propriété COMPUTERNAME d'un fichier CSV alors que la propriété Computername de la cmdlet Get-Service accepte les Input ByPropertyName
On peut très bien exploiter des csv pour créer des users dans AD et l'ensemble des lignes sont traités ici seul la 1ère ligne du CSVC est traitée avec la cmdlet get-service et ce 3 fois avec un CSV de 3 lignes avec valeur # qd même ???? ...:evil:

Peut être est-ce un fonctionnement de cette cmdlet anormale ? Ou alors son aide est erronné concernant le passage d'input.
Je penche de plus en plus vers un BUG
La tienne est une solution de plus mais ce n'est pas le propos.
Je voudrais juste comprendre pq on ne peut pas exploiter la propriété COMPUTERNAME d'un fichier CSV alors que la propriété Computername de la cmdlet Get-Service accepte les Input ByPropertyName
On peut très bien exploiter des csv pour créer des users dans AD et l'ensemble des lignes sont traités ici seul la 1ère ligne du CSVC est traitée avec la cmdlet get-service et ce 3 fois avec un CSV de 3 lignes avec valeur # qd même ???? ...:evil:
Peut être est-ce un fonctionnement de cette cmdlet anormale ? Ou alors son aide est erronné concernant le passage d'input.
Je penche de plus en plus vers un BUG
Connexion ou Créer un compte pour participer à la conversation.
- JONDON Cyril
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 78
- Remerciements reçus 0
il y a 13 ans 1 semaine #14231
par JONDON Cyril
Réponse de JONDON Cyril sur le sujet Re:Import-CSV et ByPropertyName
Qd je dis :
On peut très bien exploiter des csv pour créer des users dans AD et l'ensemble des lignes sont traités ici seul la 1ère ligne du CSVC est traitée avec la cmdlet get-service et ce 3 fois avec un CSV de 3 lignes avec valeur # qd même ???? ...
Il faut comprendre :
On peut très bien exploiter des csv pour créer des users dans AD et l'ensemble des lignes sont traités ici seule la 1ère valeur de la colonne COMPUTERNAME est traitée avec la cmdlet get-service et ce autant de fois qu'il y a de lignes cependant la valeur erxploitée est toujours la 1ère ??????
S'il ne s'agit pas d'un BUG il va falloir qu'on m'explique
On peut très bien exploiter des csv pour créer des users dans AD et l'ensemble des lignes sont traités ici seul la 1ère ligne du CSVC est traitée avec la cmdlet get-service et ce 3 fois avec un CSV de 3 lignes avec valeur # qd même ???? ...
Il faut comprendre :
On peut très bien exploiter des csv pour créer des users dans AD et l'ensemble des lignes sont traités ici seule la 1ère valeur de la colonne COMPUTERNAME est traitée avec la cmdlet get-service et ce autant de fois qu'il y a de lignes cependant la valeur erxploitée est toujours la 1ère ??????
S'il ne s'agit pas d'un BUG il va falloir qu'on m'explique
Connexion ou Créer un compte pour participer à la conversation.
- JONDON Cyril
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 78
- Remerciements reçus 0
il y a 13 ans 1 semaine #14232
par JONDON Cyril
Réponse de JONDON Cyril sur le sujet Re:Import-CSV et ByPropertyName
Sinon ta commande ne marche pas avec un import-csv
la commande suivante fonctinnne
get-service wua* -c (gc c:\computers.txt)
avec un fichier texte sans la propriété ou colonne c'est comme tu veux COMPUTERNAME.
Bref un import-csv sans exploiter les colonnes du CSV autant prendre un fichier texte en plus ta commande marche pas
...
la commande suivante fonctinnne
get-service wua* -c (gc c:\computers.txt)
avec un fichier texte sans la propriété ou colonne c'est comme tu veux COMPUTERNAME.
Bref un import-csv sans exploiter les colonnes du CSV autant prendre un fichier texte en plus ta commande marche pas
Connexion ou Créer un compte pour participer à la conversation.
- JONDON Cyril
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 78
- Remerciements reçus 0
il y a 13 ans 6 jours #14317
par JONDON Cyril
Réponse de JONDON Cyril sur le sujet Re:Import-CSV et ByPropertyName
Puisque tout le monde s'en fout il s'agit bien d'un BUG de la commande Get-Service :
La commande ci dessous traite bien les 3 valeurs de la propriété computername du fichier CSV fourni en entrée :
[code:1]Import-CSV C:\Computers.scv | Get-Service wuauserv[/code:1]
Alors que celle-ci :
[code:1]Import-CSV C:\Computers.scv | Get-Service wua*[/code:1]
Traite 3 fois la première valeur de la propriété Computername.
L'utilisation des wildcards est donc source d'incohérence ds ce contexte d'utilisation (Input by ByPropertyName sur la propriété Computername de la cmdlet Get-Service )
Bref elle est BUGUéeeeee

Ca me laisse très très perplexe quant aux autres cmdlets qui ont des propriétés acceptant l'input ByPropertyName.
Ce langage à n'en pas douter est truffé de BUGS vigilance et méfiance doivent être les règles en même temps c'est Microsoft j'avais oublié c'est pour le grand public pas pour les ITs
La commande ci dessous traite bien les 3 valeurs de la propriété computername du fichier CSV fourni en entrée :
[code:1]Import-CSV C:\Computers.scv | Get-Service wuauserv[/code:1]
Alors que celle-ci :
[code:1]Import-CSV C:\Computers.scv | Get-Service wua*[/code:1]
Traite 3 fois la première valeur de la propriété Computername.
L'utilisation des wildcards est donc source d'incohérence ds ce contexte d'utilisation (Input by ByPropertyName sur la propriété Computername de la cmdlet Get-Service )
Bref elle est BUGUéeeeee
Ca me laisse très très perplexe quant aux autres cmdlets qui ont des propriétés acceptant l'input ByPropertyName.
Ce langage à n'en pas douter est truffé de BUGS vigilance et méfiance doivent être les règles en même temps c'est Microsoft j'avais oublié c'est pour le grand public pas pour les ITs
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.099 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les initiés
- Import-CSV et ByPropertyName