Question Import-CSV et ByPropertyName

Plus d'informations
il y a 13 ans 2 semaines #14205 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 :S :angry: ;)

Merci.

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

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

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

Plus d'informations
il y a 13 ans 1 semaine #14230 par JONDON Cyril
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:B) :blush: :S

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 :ohmy:

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

Plus d'informations
il y a 13 ans 1 semaine #14231 par JONDON Cyril
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

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

Plus d'informations
il y a 13 ans 1 semaine #14232 par JONDON Cyril
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 :silly: ...

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

Plus d'informations
il y a 13 ans 6 jours #14317 par JONDON Cyril
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 :woohoo: :woohoo: :woohoo:

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 :evil: :laugh: :P :laugh:

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

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