Question Format-Table

Plus d'informations
il y a 15 ans 8 mois #7303 par Seals
Format-Table a été créé par Seals
Bonjour,

J'ai une petite question au sujet de format-Table

J'ai un script qui fait plusieurs actions et j'aimerai avoir un retour d'info sous forme de tableau.

Voici mon script:
[code:1]$file = get-content -path \"C:\Scripts\mesPC.txt\"

foreach ( $R_file in $file){

if ( ($R_file | Select-String -Pattern \"Intel\" -Quiet) ) {$unc=\".intel.com\"}
if ( ($R_file | Select-String -Pattern \"AMD\" -Quiet) ) {$unc=\".amd.com\"}


$ping = get-wmiobject -Class Win32_PingStatus -filter (\"Address='\" +$R_file+$unc+ \"'\"«»)

#si le ping repond donc 0
if ($ping.statuscode -eq \"0\"«»){

$Groupname = $R_file + \"_admin_user\"
$OSlanguage = \"\"
$OSlanguage = (get-wmiobject -Computer ($R_file+$unc) -Class Win32_OperatingSystem).OSLanguage

switch($OSlanguage) {
#OS en FR
1036 {
#conexion au pc pour l ajout du groupe ds le compte admin
$unc = $R_file + $unc
$WINNTlogon = [ADSI]\"WinNT://$unc/administrateurs,group\"
$WINNTlogon.add(\"WinNT://lfrw2k/$Groupname\"«»)

#test si le groupe est bien mis
$WINNTlogon = [ADSI]\"WinNT://$unc/administrateurs,group\"
foreach ( $member in $WINNTlogon.Members() ) {
$WINNTlogon = $member.GetType().InvokeMember(\"Name\",\"GetProperty\",$null,$member,$null)
if($WINNTlogon -match $Groupname ){
\"$R_file Operation Success !\" | Out-Host
}
}
}
#OS en EN
1033 {
#conexion au pc pour l ajout du groupe ds le compte admin
$unc = $R_file + $unc
$WINNTlogon = [ADSI]\"WinNT://$unc/administrators,group\"
$WINNTlogon.add(\"WinNT://lfrw2k/$Groupname\"«»)

#test si le groupe est bien mis
$WINNTlogon = [ADSI]\"WinNT://$unc/administrators,group\"
foreach ( $member in $WINNTlogon.Members() ) {
$WINNTlogon = $member.GetType().InvokeMember(\"Name\",\"GetProperty\",$null,$member,$null)
if($WINNTlogon -match $Groupname ){
\"$R_file Operation Success !\" | Out-Host
}
}
}
#OS en DE
1031 {
#conexion au pc pour l ajout du groupe ds le compte admin
$unc = $R_file + $unc
$WINNTlogon = [ADSI]\"WinNT://$unc/administratoren,group\"
$WINNTlogon.add(\"WinNT://lfrw2k/$Groupname\"«»)

#test si le groupe est bien mis
$WINNTlogon = [ADSI]\"WinNT://$unc/administratoren,group\"
foreach ( $member in $WINNTlogon.Members() ) {
$WINNTlogon = $member.GetType().InvokeMember(\"Name\",\"GetProperty\",$null,$member,$null)
if($WINNTlogon -match $Groupname ){
\"$R_file Operation Success !\" | Out-Host
}
}
}
#OS inconnu
default { \"Unknown System\" | Out-Host }
}



}
else { echo \"$R_file Game Over, try again !\" }
}[/code:1]

Je suis conscient, que là je demande un peu plus que du debug, mais je n'arrive pas à adapter cet exemple à mon cas

foreach-object {
get-wmiobject -Class Win32_PingStatus -filter (\"Address='\" + $_ + \"'\")
} |
format-table Address,
@{label=\"StatusCode\"; expression={if ($_.statuscode -eq \"0\") {\"Succes!\"} else {\"Erreur!\"}}}

Comment je dois initialiser mon tableau et comment y incrémenter mes valeurs car je n'ai pas d'expression sur une action, mais plusieurs dans différents endroits

Quelqu'un peut il m'aider ?<br><br>Message édité par: Seals, à: 1/07/10 11:12

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

Plus d'informations
il y a 15 ans 8 mois #7306 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Format-Table
Salut,
Seals écrit:

je n'ai pas d'expression sur une action, mais plusieurs dans différents endroits

Si j'ai bien compris, il faut créer à chaque action un objet ou renseigner une proprieté d'un objet(possédant autant de propriété qu'il y a d'action).

En fin de script tu récupères un seul objet/tableau d'objet sur lequel tu effectueras ton traitement.

L'applet de commande Format-Table met en forme la sortie d'une commande sous forme de tableau présentant les propriétés sélectionnées de l'objet dans chaque colonne.
...

-InputObject &lt;psobject&gt;
Spécifie les objets à mettre en forme. Entrez une variable contenant les objets, ou tapez une commande ou une expression permettant d'obtenir ces objets.

Obligatoire ? false
Position ? named
Valeur par défaut
Accepter l'entrée de pipeline ? true (ByValue)
Accepter les caractères génériques ? false


Tutoriels PowerShell

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

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