Question
Format-Table
- Seals
- Auteur du sujet
- Hors Ligne
- Membre junior
-
- Messages : 39
- Remerciements reçus 0
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
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 endroitsforeach-object {
get-wmiobject -Class Win32_PingStatus -filter (\"Address='\" + $_ + \"'\")
} |
format-table Address,
@{label=\"StatusCode\"; expression={if ($_.statuscode -eq \"0\") {\"Succes!\"} else {\"Erreur!\"}}}
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.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
- Messages : 6311
- Remerciements reçus 68
Seals écrit:
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).je n'ai pas d'expression sur une action, mais plusieurs dans différents endroits
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 <psobject>
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.
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Format-Table