Listing 1: Ein Kuchendiagramm zeichnen # Speicherpfad des Dokuments $docPath = "./.docx" # Importieren des PSWriteWord-Moduls Import-Module PSWriteWord # Erstellen eines neuen Word-Dokuments $document = New-WordDocument -FilePath $docPath # Prozesse abfragen und für Pie-Chart vorbereiten $procs = Get-Process | Group-Object ProcessName $procNames = $procs.Name $procCount = foreach ($proc in $procs){ $proc.Count } # Hinzufügen des Kuchendiagramms $params = @{ WordDocument = $document ChartName = 'Test PieChart' Names = $procNames Values = $procCount ChartLegendPosition = 'Bottom' ChartLegendOverlay = $false } Add-WordPieChart @params # Speichern des Dokuments Save-WordDocument -WordDocument $document # Dokument in Word öffnen Invoke-Item $docPath Listing 2: Eine Tabelle anlegen # Speicherpfad des Dokuments $docPath = "./MeinDokument.docx" # Importieren des PSWriteWord-Moduls Import-Module PSWriteWord # Erstellen eines Arrays mit Tabellendaten $tabellenDaten = @( [PSCustomObject]@{ Spalte1 = "Wert 1"; Spalte2 = "Wert A" } [PSCustomObject]@{ Spalte1 = "Wert 2"; Spalte2 = "Wert B" } [PSCustomObject]@{ Spalte1 = "Wert 3"; Spalte2 = "Wert C" } ) # Hinzufügen der Tabelle zum Dokument $tableParams = @{ WordDocument = $document DataTable = $tabellenDaten Design = 'ColorfulGridAccent1' } Add-WordTable @tableParams # Speichern des Dokuments Save-WordDocument -WordDocument $document Listing 3: Dokumentation eines ESX-Hosts # Importieren des VMware PowerCLI Moduls Import-Module VMware.PowerCLI # Variablen setzen $esxHost = "" $userName = "" $password= "" # Verbindung zum vCenter oder ESX-Host herstellen Connect-VIServer -Server $esxHost -User $userName -Password $password -Force # Ersetzen Sie "esx_host_name" mit dem Namen des ESX-Hosts, von dem Sie Daten abrufen möchten $esxHost = Get-VMHost -Name $esxHost # Abrufen der Host- und Hardwareinformationen $hostInfo = @{ Hostname = $esxHost.Name IPAddress = $esxHost.ExtensionData. Config.Network.Vnic[0].Spec.Ip.IpAddress OSVersion = $esxHost.Version CPU = $esxHost.NumCpu MemoryGB = $esxHost.MemoryTotalGB } $storageInfos = Get-VMHost -Name $esxHost -PipelineVariable esx | Get-Datastore | Select-Object @{N='VMHost';E={$esx.Name}},Name, FreeSpaceMB,CapacityMB # Abruf der Informationen der auf dem Host installierten VMs $vmInfo = Get-VM -Location $esxHost | ForEach-Object { @{ VMName = $_.Name CPU = $_.NumCpu MemoryGB = $_.MemoryGB VMHost = $_.VMHost PowerState = $_.PowerState OS = $_.Guest.OSFullName } } # Trennen der Verbindung Disconnect-VIServer -Server $esxHost -Confirm:$false Listing 4: Visualisierung der VMware-Daten # Code aus Listing 3 zum Sammeln der Daten von ESX-Host und VMs $wordDocumentPath = "$esxHost.docx" # Importieren des PSWriteWord-Moduls Import-Module PSWriteWord # Erstellen eines neuen Word-Dokuments $document = New-WordDocument -FilePath $wordDocumentPath # Hinzufügen einer Überschrift für den Host Add-WordText -WordDocument $document -Text "ESX-Host Informationen" -FontSize 18 -Bold $true # Tabelle mit Hostinformationen erstellen $hostTableData = @($hostInfo) $hostTableData | Add-WordTable -WordDocument $document -Design ColorfulGridAccent1 # Hinzufügen einer Überschrift für den Host Add-WordText -WordDocument $document -Text "ESX-Host DataStore Speicher" -FontSize 18 -Bold $true # Diagramm zur Visualisierung von Host-Speicherressourcen $pieChartParams = @{ WordDocument = $document Names = @("Freier Speicher", "Belegter Speicher") Values = @($storageInfos.FreeSpaceMB, $storageInfos.CapacityMB) } Add-WordPieChart @pieChartParams # Hinzufügen einer Überschrift für VMs Add-WordText -WordDocument $document -Text "Liste der VMs" -FontSize 18 -Bold $true # Tabelle mit VM-Informationen erstellen $vmTableData = @($vmInfo) $vmTableData | Add-WordTable -WordDocument $document -Design ColorfulGridAccent1 # Speichern des Dokuments Save-WordDocument -WordDocument $document # Öffnen des Dokuments zur Überprüfung Invoke-Item $wordDocumentPath