Question Afficher des données au format tabulaire (Résolu)

Plus d'informations
il y a 17 ans 3 mois #3334 par Steph
Merci pour l'exemple de code.

As tu un exemple de code pour generer un tableau d'objet personnalisé ?

merci;

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

Plus d'informations
il y a 17 ans 3 mois #3336 par Laurent Dardenne
carpi751 écrit:

Merci pour l'exemple de code.

Tu peux déjà consulter ce tutoriel .
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.

Plus d'informations
il y a 17 ans 3 mois #3354 par Laurent Dardenne
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

Tutoriels PowerShell

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

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