Question
Afficher des données au format tabulaire (Résolu)
- Steph
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 8
- Remerciements reçus 0
il y a 17 ans 3 mois #3334
par Steph
Réponse de Steph sur le sujet Re:Afficher des données au format tabulaire
Merci pour l'exemple de code.
As tu un exemple de code pour generer un tableau d'objet personnalisé ?
merci;
As tu un exemple de code pour generer un tableau d'objet personnalisé ?
merci;
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 17 ans 3 mois #3336
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Afficher des données au format tabulaire
carpi751 écrit:
C'est la construction de l'objet qu'il faut étudier en premier, la construction du tableau ce sera le plus simple.
Dès que j'ai un peu de temps j'essaie d'adapter ton script.
Tu peux déjà consulter ce tutoriel .Merci pour l'exemple de code.
C'est la construction de l'objet qu'il faut étudier en premier, la construction du tableau ce sera le plus simple.
Dès que j'ai un peu de temps j'essaie d'adapter ton script.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 17 ans 3 mois #3354
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Afficher des données au format tabulaire
Voici une ébauche à tester. Sur mon poste, MSSQL 2005, cela différe un peu trop de l'original pour le valider :
[code:1]
$Server=@('LocalHost')
$NS=\"root\Microsoft\SqlServer\ComputerManagement\"
#récupère un tableau d'objet personnalisé
# parcourir tous les serveurs de la liste
$ListeObjet=$Server|`
# Parcourt tous les services MSSQL d'un serveur
gwmi -Query \"select * from win32_service Where name LIKE 'MSSQL$%'\" -ComputerName $_ |% {`
#Construit un objet personnalisé
$Current=1|Select Name,State,Status,Instance,Port,Days
$Current.State=$_.State
# On ne garde que le nom de l'instance
$Current.Instance = $_.Name.replace(\"^MSSQL\",\"\"«»)
# recupere le port TCP de l'instance
$Requete=\"select PropertyStrVal FROM ServerNetworkProtocolProperty WHERE InstanceName = '$($Current.Instance)' AND IPAddressName = 'IPAll' AND PropertyName = 'TcpPort' AND ProtocolName = 'TCP'\"
$Current.Port= (gwmi -Query $Requete -ComputerName $_ -Credential $Cred -Namespace $NS).PropertyStrVal
# Vérifie si l'instance écoute sur un port dynamique
if ($Current.Port -eq [String]::Empty)
{ $Current.Port= \"dynamic\" }
if($Current.State -eq \"Running\"«»)
{ # Instance en vie depuis n jours ?
$Process = gwmi Win32_Process -Filter \"ProcessId= '$($_.ProcessId)'\" -ComputerName $_ -Credential $Cred
$Current.Days =[int]( (get-date) - ([WMI]'').ConvertToDateTime($Process.CreationDate).TotalDays
}
#Envoi l'objet dans le pipe, i.e. mémorise dans une variable
$Current
} # Construction d'un objet personnalisé
[/code:1]
Les 2 boucles Foreach sont désormais inséré dans le pipe et certaines propriétés pourraient être des propriétés calculées, telles que port,days et instance.<br><br>Message édité par: Laurent Dardenne, à: 28/11/08 16:55
[code:1]
$Server=@('LocalHost')
$NS=\"root\Microsoft\SqlServer\ComputerManagement\"
#récupère un tableau d'objet personnalisé
# parcourir tous les serveurs de la liste
$ListeObjet=$Server|`
# Parcourt tous les services MSSQL d'un serveur
gwmi -Query \"select * from win32_service Where name LIKE 'MSSQL$%'\" -ComputerName $_ |% {`
#Construit un objet personnalisé
$Current=1|Select Name,State,Status,Instance,Port,Days
$Current.State=$_.State
# On ne garde que le nom de l'instance
$Current.Instance = $_.Name.replace(\"^MSSQL\",\"\"«»)
# recupere le port TCP de l'instance
$Requete=\"select PropertyStrVal FROM ServerNetworkProtocolProperty WHERE InstanceName = '$($Current.Instance)' AND IPAddressName = 'IPAll' AND PropertyName = 'TcpPort' AND ProtocolName = 'TCP'\"
$Current.Port= (gwmi -Query $Requete -ComputerName $_ -Credential $Cred -Namespace $NS).PropertyStrVal
# Vérifie si l'instance écoute sur un port dynamique
if ($Current.Port -eq [String]::Empty)
{ $Current.Port= \"dynamic\" }
if($Current.State -eq \"Running\"«»)
{ # Instance en vie depuis n jours ?
$Process = gwmi Win32_Process -Filter \"ProcessId= '$($_.ProcessId)'\" -ComputerName $_ -Credential $Cred
$Current.Days =[int]( (get-date) - ([WMI]'').ConvertToDateTime($Process.CreationDate).TotalDays
}
#Envoi l'objet dans le pipe, i.e. mémorise dans une variable
$Current
} # Construction d'un objet personnalisé
[/code:1]
Les 2 boucles Foreach sont désormais inséré dans le pipe et certaines propriétés pourraient être des propriétés calculées, telles que port,days et instance.<br><br>Message édité par: Laurent Dardenne, à: 28/11/08 16:55
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.074 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Afficher des données au format tabulaire (Résolu)