38 lines
1.1 KiB
PowerShell
38 lines
1.1 KiB
PowerShell
$refreshToken = 'your-refresh-token'
|
|
|
|
$reportPath = '.\VMC-services.xlsx'
|
|
|
|
Connect-Vmc -RefreshToken $refreshToken > $null
|
|
|
|
$columns = @{}
|
|
$services = Get-VmcService | Sort-Object -Property Name
|
|
$services | ForEach-Object -Process {
|
|
$_.Help | Get-Member -MemberType NoteProperty | where{'Constants','Documentation' -notcontains $_.Name} |
|
|
ForEach-Object -Process {
|
|
if(-not $columns.ContainsKey($_.Name)){
|
|
$columns.Add($_.Name,'')
|
|
}
|
|
}
|
|
}
|
|
$columns = $columns.Keys | Sort-Object
|
|
$report = @()
|
|
foreach($service in $services){
|
|
$obj = [ordered]@{
|
|
Name = $service.Name
|
|
}
|
|
$columns | ForEach-Object -Process {
|
|
$obj.Add($_,'')
|
|
}
|
|
|
|
$service.Help | Get-Member -MemberType NoteProperty | where{'Constants','Documentation' -notcontains $_.Name} |
|
|
ForEach-Object -Process {
|
|
# $obj.Item($_.Name) = "$($service.Help.$($_.Name).Documentation)"
|
|
$obj.Item($_.Name) = "X"
|
|
}
|
|
$report += New-Object PSObject -Property $obj
|
|
}
|
|
$report | Export-Excel -Path $reportPath -WorksheetName 'Services' -FreezeTopRow -BoldTopRow -AutoSize -Show
|
|
|
|
Disconnect-Vmc -Confirm:$false
|
|
|