j'ai écrit une requête dans Powershell interroger une boîte F5 BIG-IP à travers son API iControl pour ramener l'utilisation du processeur, etc.Powershell - variable découpant en morceaux
En utilisant ce code (voir ci-dessous), je peux retourner les données retour dans un format CSV qui va bien. Cependant, la variable $ csvdata contient toutes les données. Je dois être capable de prendre cette variable et pour chaque ligne diviser chaque colonne de données en une variable séparée.
La sortie ressemble actuellement à ceci: horodatage , "Utilisation" 1276181160,2.3282800000e + 00
Tous les conseils seront les bienvenus
$SystemStats = (Get-F5.iControl).SystemStatistics
### Allocate a new Query Object and add the inputs needed
$Query = New-Object -TypeName iControl.SystemStatisticsPerformanceStatisticQuery
$Query.object_name = $i
$Query.start_time = $startTime
$Query.end_time = 0
$Query.interval = $interval
$Query.maximum_rows = 0
### Make method call passing in an array of size one with the specified query
$ReportData = $SystemStats.get_performance_graph_csv_statistics((,$Query))
### Allocate a new encoder and turn the byte array into a string
$ASCII = New-Object -TypeName System.Text.ASCIIEncoding
$csvdata = $ASCII.GetString($ReportData[0].statistic_data)
Cela ne fonctionne pas comme je ne suis pas d'importer un fichier csv externe mais juste canalisant les données directes de la variable ReportData de $ dans la variable CSVData de $ pour le transformer d'un tableau d'octets au format csv – Andrew
@Andrew: Utilisez 'ConvertFrom-Csv' dans ce cas. Je suppose que c'est ce que Keith voulait écrire, de toute façon :-) – Joey
Désolé. Je n'utilise pas beaucoup CSV personnellement alors oui, ConvertFrom-Csv est la bonne applet de commande. J'ai mis à jour la réponse pour refléter cela. –