Giter Club home page Giter Club logo

as-built-report's Introduction

G'day, I'm Tim ๐Ÿ‘‹

I work as an IT consultant for Logicalis Australia located in Melbourne, Australia ๐Ÿ“ ๐ŸŒ

I ๐Ÿ’™ coding in PowerShell and am the creator of the open source project, AsBuiltReport.

I am a 6x VMware vExpert ๐Ÿ† and active member within the vCommunity.

You can follow me via the social links below.


AsBuiltReport Project

Background

In late 2016, I had become fed up with the labourous and repetitive tasks of writing as-built documentation for my IT infrastructure projects. I was eager to find a way to automate the process, and also had a keen desire to learn PowerShell. It was obvious that this was the perfect opportunity to increase my PowerShell knowledge whilst also working to automate my way out of this misery.

As Built Report is a configuration document framework which utilises PowerShell to produce as-built documentation in multiple document formats for multiple vendors and technologies.

As I was most familiar with VMware and PowerCLI, my initial aim was to automate the documentation of VMware vSphere environments. However I soon realised that it would be better to expand the project to include other vendors and technologies as well.

I slowly began to develop some code to capture the information I required, the only issue I had was with how I wanted to present it. I wanted documents to be consistent in their appearance and avaliable in HTML and Word formats. It wasn't until I discovered PScribo by Iain Brighton that AsBuiltReport truly came to life.

Over the past few years, AsBuiltReport has been transformed from a single PowerShell script, into a fully modular architecture, with multiple report modules now published on the PowerShell Gallery.

In 2018, myself & Matt Allford (a lead contributor to the project) presented the project to an audience of 500+ attendees at VMworld US in Las Vegas. Our session "Documenting Your Virtual Infrastructure with PowerShell & PowerCLI" went on to become the highest veiwed session for both VMworld US/EU in 2018! ๐ŸŽ‰ ๐Ÿ’ช ๐Ÿ˜Ž

If you would like to follow the project or would like to contribute, please check the website for further information. Or you can follow the project via the social links below.

as-built-report's People

Contributors

equelin avatar mattallford avatar ryan-jan avatar tpcarman avatar ymmit85 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

as-built-report's Issues

Section 1.6 vSAN not sorted clusters alphabetically

Describe the bug
Section 1.6 vSAN sub section isn't sorted alphabetically per cluster.

To Reproduce
Steps to reproduce the behavior:

  1. Run report. Look at sections 1.6 vSAN
  2. In my case the Management cluster was listed before the Application cluster.

Expected behavior
Clusters should be sorted alphabetically.

Additional context
Tim forced me to log this.

Validate Type against installed reports

Is your feature request related to a problem? Please describe.
Currently the document is only checked to see if its null or empty.

Describe the solution you'd like
Check the report path and verify against installed reports.

Describe alternatives you've considered

Additional context

Document required permissions level for vSphere report

Describe the bug
the vsphere readme.MD should include necessary permissions prerequisites for the vSphere report. Example use case is running an automated report using a cronjob on powercli core for audit/compliance purposes, where we would not want the job running as our standard personal administrative accounts.

vSphere.ps1 using deprecated CmdLets and properties.

This issue is to detail each of the deprecated CmdLets and/or object properties that the vSphere.ps1 script is currently using. These sections will be reworked and the deprecated items will be replaced.

  • WARNING: PowerCLI scripts should not use the 'DatastoreIdList' property of VMHost type. The property will be removed in
    a future release.
  • WARNING: The 'VirtualSwitch' property of VMHostNetworkInfo type is deprecated. Use 'Get-VirtualSwitch' cmdlet instead.
  • WARNING: The 'VirtualNic' property of VMHostNetworkInfo type is deprecated. Use 'Get-VMHostNetworkAdapter' cmdlet
    instead.
  • WARNING: The 'PhysicalNic' property of VMHostNetworkInfo type is deprecated. Use 'Get-VMHostNetworkAdapter' cmdlet
    instead.
  • WARNING: The 'Accessible' property of Datastore type is deprecated. Use the 'State' property instead.
  • WARNING: The 'Version' property of VirtualMachine type is deprecated. Use the 'HardwareVersion' property instead.

License information is not reporting correctly in VMware vSphere report

Describe the bug
License information is not reporting correctly in VMware vSphere report.
Product license names for vCenter and ESXi hosts are not shown and license keys are duplicated, incorrect, or show System.Object[]

To Reproduce
Generate a report using VMware vSphere Report v0.3.0

Expected behavior
A single product license name and license key should be reported for each vCenter server and ESXi host

Unable to create Word and XML Documents when reporting on vSphere

I have narrowed down the module that is throwing the error below in PS. In vSphere\vSphere.json, when the InfoLevel for VMhost is set to 3 or higher, the below error is thrown in the PowerShell window.

I have also disabled all other InfoLevel options except for VMhost, and the error is still thrown. It is not thrown for any other module.

I have tested all four output methods. Only Word and XML output fail with the error below. The HTML and TEXT options create the report as expected and does not throw the error below.

Screenshot
image

Desktop

  • OS: Windows 10
  • PowerShell: 5.1
  • PowerCLI: 10.0
  • PScribo: 0.7.24
  • As-Built-Report: 0.2.0

NSX uses same credentials as vCenter without prompt

Describe the bug
When running the script with NSX enabled it automatically uses the credentials for vCenter in NSX. However, default CLIUser creds are admin//<password>. Only after adding a CLIUser through SSH and RestAPI the NSX script works.

To reproduce
To reproduce issue:

  1. Enable NSX in the vsphere.json
  2. Run the script with default users
  3. NSX script fails on if($NSXManager){ and doesn't produce output

To resolve
To resolve the issue and get the script working properly:

  1. SSH into NSX manager
  2. Follow steps outlined in NSX documentation "Create a User with Web Interface Access Using CLI" with credentials same as used for vCenter
  3. NSX script succeeds and output is created

Expected behavior
An error should show when the credentials fail.

Proposed resolution
Prompt for NSX credentials or give the option to use the same as vCenter.

Refactor scripts into a PowerShell module.

Plan to refactor these scripts into a full PowerShell module. This will allow us to host the module on PSGallery.

This will take quite a bit of work and therefore I propose that in the first instance we only convert/export the New-AsBuiltReport function, leaving each of the reports as standard scripts. This actually ends up being a pretty minor tweak which enables us to proceed with things like hosting on PSGallery. I will submit a PR to demo this for people to test.

Then moving forward we would need to decide how we want to tackle converting the report scripts to advanced functions ready to be exported by the module. This throws up some issues as currently the specified report is called by building the path to the script file using the -Type parameter as below.

# Generate report
    if ($Type) {
        $ScriptFile = "$PSScriptRoot\Reports\$Type\$Type.ps1"
        if (Test-Path $ScriptFile -ErrorAction SilentlyContinue) {
            .$ScriptFile
        }
        else {
            Write-Error "$Type report does not exist"
            break
        }
    }

And a similar thing is happening to set the styles. This will have to change and it would be good to discuss ideas for resolving this below.

Issue with JSON config file conversion causes blank report output.

Hey, I am very familiar and have used powershell/powercli for a long time, but I just downloaded this today and cannot get it to give me anything but an empty report.

Tried different formats for output. Tried different vSphere environments, all I get is an empty report.
This is how I am currently trying to run

New-Asbuiltreport -target vcenter -type vSphere -credentials (get-credential) -format html -healthchecks

I was able to import the psd1 file fine to get the cmdlet name.....and it clearly is creating the doc,html file, but it is just empty.

Any thoughts?

Feature Request: To add HBA/NIC Drivers, Firmware, Version etc.

Feature request to add the HBA/NIC Drivers, Firmware, Version in to the script.

.HBA-Model (16GB FC to PCI-Express-HBA )
.HBA-Device (vmhba)
.HBA-Driver (lpfcxxx)
.HBA-Firmware-Version
.HBA-WWPN
.VendorName: MassStorageController
.vid / did / svid / ssid

.NIC-Model (10GB )
.NIC-Device (vmnic)
.NIC-Driver
.NIC-Firmware-Version
.DeviceClass: NetworkController
.vid / did / svid / ssid

Include additional VM detailed information

Is your feature request related to a problem? Please describe.
Include additional configuration information for VM InfoLevel 3 and above.

Describe the solution you'd like
Include additional VM hardware configuration information such as SCSI controllers, NIC adapters, etc.
Include related objects such as datastores, networks etc.

Describe alternatives you've considered

Additional context

Cisco UCS report errors during Blade Server Inventory

Error message with current code

Select-Object : The property cannot be processed because the property "Operability" already exists.
At ..\As-Built-Report-dev\Src\Public\Reports\UCS\UCS.ps1:110 char:81

  • ... D, SlotID | Select-Object @{L = 'Server Id'; E = {$_.ServerId}}, Mode ...
  •             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    • CategoryInfo : InvalidOperation: (Cisco.Ucsm.ComputeBlade:PSObject) [Select-Object], PSArgumentException
    • FullyQualifiedErrorId : AlreadyExistingUserSpecifiedPropertyNoExpand,Microsoft.PowerShell.Commands.SelectObjectCommand

Current Code
Operability is defined twice in the code

			$UcsBlade = Get-UcsBlade
            if ($UcsBlade) {
                Section -Style Heading3 -Name 'Blade Server Inventory' {
                    $UcsBlade = $UcsBlade | Sort-Object ChassisID, SlotID | Select-Object @{L = 'Server Id'; E = {$_.ServerId}}, Model, @{L = 'Available Memory'; E = {$_.AvailableMemory}}, @{L = 'Number of CPUs'; E = {$_.NumOfCpus}}, @{L = 'Number of Cores'; E = {$_.NumOfCores}}, 
                    @{L = 'Number of Adapters'; E = {$_.NumOfAdaptors}}, @{L = 'Number of Ethernet Interfaces'; E = {$_.NumOfEthHostIfs}}, @{L = 'Number of FC Host Interfaces'; E = {$_.NumOfFcHostIfs}}, @{L = 'Assigned To'; E = {$_.AssignedToDn}}, Presence, @{L = 'Operability'; E = {$_.OperState}}, 
                        Operability, @{L = 'Power'; E = {$_.OperPower}}, Serial
                    $UcsBlade | Table -Name 'Server Inventory' 
                }
            }

New Code
Operability second instance is removed removing the error message without impacting the script function

            $UcsBlade = Get-UcsBlade
            if ($UcsBlade) {
                Section -Style Heading3 -Name 'Blade Server Inventory' {
                    $UcsBlade = $UcsBlade | Sort-Object ChassisID, SlotID | Select-Object @{L = 'Server Id'; E = {$_.ServerId}}, Model, @{L = 'Available Memory'; E = {$_.AvailableMemory}}, @{L = 'Number of CPUs'; E = {$_.NumOfCpus}}, @{L = 'Number of Cores'; E = {$_.NumOfCores}}, 
                    @{L = 'Number of Adapters'; E = {$_.NumOfAdaptors}}, @{L = 'Number of Ethernet Interfaces'; E = {$_.NumOfEthHostIfs}}, @{L = 'Number of FC Host Interfaces'; E = {$_.NumOfFcHostIfs}}, @{L = 'Assigned To'; E = {$_.AssignedToDn}}, Presence, @{L = 'Operability'; E = {$_.OperState}}, 
                        @{L = 'Power'; E = {$_.OperPower}}, Serial
                    $UcsBlade | Table -Name 'Server Inventory' 
                }
            }

Resource Pool VMs

In RP section change report to only show the VMs that are in the RP in full report mode. Or change VM section to show the RP the VM is in.

The script 'NSX.ps1' cannot be run because the following modules that are specified by the "#requires

When NSX is selected I'm getting the following error, PowerNSX is already installed.
. : The script 'NSX.ps1' cannot be run because the following modules that are specified by the "#requires" statements of the script are missing: PowerNSX.
At D:\As-Built-Report-master\Reports\vSphere\vSphere.ps1:3087 char:22

  •                 .$NSXReport -VIServer $VIServer -Credentials $Cre ...
    
  •                  ~~~~~~~~~~
    
    • CategoryInfo : ResourceUnavailable: (NSX.ps1:String) [], ScriptRequiresException
    • FullyQualifiedErrorId : ScriptRequiresMissingModules

vSphere Report. Reduce repetitiveness for Advanced Host settings and Software VIBs sections

Is your feature request related to a problem? Please describe.
Repeating the ESXi Host Advanced System Settings & ESXi Host Software VIBs sections for each host adds 100's of pages to an InfoLevel 5 report.

Describe the solution you'd like
Remove the ESXi Host Advanced System Settings & ESXi Host Software VIBs from the individual ESXi Host sections and create a new 'All Hosts' report section (poss by Cluster), where each of the settings are compared & then consolidated to either one line per value (where all hosts match) or to two or more lines (where one or more hosts has different settings).

This would drastically reduce the report size for those of us who like the completeness of InfoLevel 5 reports. In the 3 host example below there is a 33% reduction in identical repeated lines..

Also, putting all of these settings in one place makes it considerably easier to compare settings across all hosts.

Describe alternatives you've considered
Not using InfoLevel 5 :-(

Additional context
Example:

Current

image

Proposed

image

Get-PatchBaseline requires VMware.VumAutomation

Describe the bug
The use of Get-PatchBaseline requires the module VMware.VumAutomation to be imported. Unless this is manually imported before running the script, the following error will be produced:

Get-PatchBaseline : The term 'Get-PatchBaseline' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

To Reproduce
Steps to reproduce the behavior:
Run the script - errors will be observed.
Run Import-Module VMware.VumAutomation then run the script again - errors now absent.

Expected behavior
The script should list VMware.VumAutomation as a required module.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: Windows 10 1803, PowerShell 5.1.17134.228, PowerCLI 6.5.0.234

Config file values not honored

Describe the bug
When passing the -AsBuiltConfigPath ./path/to/file.json the vSphere report isn't respecting the values in the file.

To Reproduce
Steps to reproduce the behavior:

  1. Run report New-AsBuiltReport -Target vc.fqdn -Credentials $creds -Format HTML vSphere -Timestamp -Path ./path/to/reports/ -AsBuiltConfigPath ./Src/Public/file.json
  2. Report runs as normal (i.e. without any respect to the "InfoLevel" values I've set.)

Expected behavior
I expected the report to be quick as I only wanted "Summary" information on several sections.
My json listed below

file.json

  "InfoLevel": {
      "_comment_": "0 = Disabled, 1 = Summary, 2 = Informative, 3 = Detailed, 4 = Adv Detailed, 5 = Comprehensive",
      "vCenter": 1,
      "Cluster": 1,
      "ResourcePool": 0,
      "VMhost": 0,
      "Network": 0,
      "Vsan": 1,
      "Datastore": 0,
      "DSCluster": 0,
      "VM": 1,
      "VUM": 0,
      "NSX": 0,
      "SRM": 0
  },

What I got was a report as configured by the vSphere.json file
vSphere.json

    "InfoLevel": {
        "_comment_": "0 = Disabled, 1 = Summary, 2 = Informative, 3 = Detailed, 4 = Adv Detailed, 5 = Comprehensive",
        "vCenter": 3,
        "Cluster": 3,
        "ResourcePool": 3,
        "VMhost": 3,
        "Network": 3,
        "Vsan": 3,
        "Datastore": 3,
        "DSCluster": 3,
        "VM": 3,
        "VUM": 3,
        "NSX": 0,
        "SRM": 0
    },

Screenshots
Report obtained:
screen shot 2018-12-12 at 5 26 05 pm

Desktop (please complete the following information):

  • OS: macOS 10.13.6
  • Browser Firefox
  • Version 63.0.3

Incorrect count of hosts in section 1.6 vSAN

Describe the bug
Section 1.6 vSAN shows twice the amount of hosts in a vSAN cluster.

To Reproduce
Steps to reproduce the behavior:

  1. Run report
  2. Look at section 1.6 vSAN Number of Hosts

Expected behavior
To show actual number of hosts.

Screenshots
Screenshot attached.

image 1

Additional context
Tim is a bully.

vSphere: Custom multipath plugins do not display

Describe the bug
In the vSphere report, the Multipath Policy value is not populated on the report for Datastore LUNs which use a 3rd party custom PSP module (example: NIMBLE_PSP_DIRECTED for Nimble arrays).

To Reproduce
Steps to reproduce the behavior:

  1. Run report against an environment with a 3rd-party PSP module in use.
  2. "Multipath Module" entry in the SCSI LUN Details section will be blank.

Expected behavior
The PSP in use by the LUN should be displayed.

Additional context
The code does a lookup against the three known built-in PSP plugins to show the friendly policy name. If the actual plugin is not found, no value is returned. Propose inserting the actual value of the plugin if not found. I'll submit a PR.

NSX NAT output shows no content.

Describe the bug
vSphere.json has "NSX": 5 defined. Same effect with "NSX": 3
Output is defined to be a Word document.

When running the report against a vSphere with NSX deployment that has lots of ESGWs configured, the NSX report does not correctly list the NAT configurations. Instead it produces a 2 column table with a single entry of "natRules" in it.

Other NSX configuration information is being collected and is correct.

To Reproduce
Steps to reproduce the behavior:

  1. Configure the vSphere.json file to report on NSX objects.
  2. Configure at least one ESGW with NAT rules.
  3. Run the report with output set to Word
  4. Error appears in the tables in the "NAT Settings" table produced for each ESGW.

Expected behavior
I have 7 NAT rules listed in my ESGW (With many other ESGWS). I can clearly see them in vCenter and they are functioning. I would expect that the NAT Settings table would have a list of NATs that are defined on each ESGW.

Screenshots
If applicable, add screenshots to help explain your problem.

Word document output.
image

This is what is seen in the ESGW configuration.
image

Desktop (please complete the following information):

  • OS: Windows 10 Pro
  • Powershell Version 5.0.10240.17443

Additional context
Add any other context about the problem here.

Incorrect vCPU count.

Describe the bug

The Total vCPU count seems to be off for a VMs.

Edit setting of the VM and I see
Number of Sockets 2
Number of cores 4
Total number of cores 8

In the report I see

vCPUs | 8
Cores per Socket | 4
Total vCPUs | 32

Expected behavior
8 Total

Screenshots
image

This is a vSphere 5.5 environment.

Cisco UCS style sheet does not apply

Cisco UCS script is still using the old way to call the Style sheet on lines 27-30 this in turns makes the Style fail to apply and does not create the Table of Contents

Current
If custom style not set, use Cisco style
if (!$StyleName) {
.\Styles\Cisco.ps1
}

Solution
If custom style not set, use Cisco style
if (!$StyleName) {
& "$PSScriptRoot....\Styles\Cisco.ps1"
}

Assess specific vSphere datacenter or cluster object

It would be nice if one could run AsBuiltReport for a specific vSphere datacenter or cluster object only. This would be useful in larger environments that have multiple datacenter objects containing multiple clusters and where you only want to assess one particular part of the environment.

Maybe it would be possible to add something like "scope" or "location" to the .json that would narrow down the scope.

I tried to manually add the "-Location" to the different "get-" commands in the vSphere.ps1 but this broke things somehow.

Word and TXT file differs

I appoligize if this already was addressed and I missed it going through the reports.
Describe the bug
In the section "Virtual Port Group NIC Teaming" the UnusedNic is missing in txt document but is there in word document.See screen shots below. In this case Vswitch 2 have Unused Nic's.
image

image

To Reproduce
Run a Word and txt report
Expected behavior
Same info in both documents.

Option to store the report data for offline re-processing

Describe the solution you'd like
I would like the ability to collect report data from the live target (say vCenter) just the once and store it in a structured format (XML/JSON), which could then be played back into PScribo at a later date to create the actual As Built Report document. This would allow for offline re-processing of the report after I have left site. I would like to be able to change the report style.

Describe alternatives you've considered
Not using the wrong style when creating the report!

problem running on MacOS, PresentationCore.dll missing

I installed Powershell 6, Pscribo and As-Built-Report on my MacBook High Sierra.
I try to run the following vSphere report script:

./New-AsBuiltReport.ps1 -Target -Username [email protected] -Password -Type vSphere -Format TEXT -Timestamp -Path '/Users/dev/projects' -Healthchecks

and get this error about PresentationCore.dll missing. Any idea how to deal with that on MacOS?
Thanks!

VERBOSE: [ 09:53:40:888 ] [ Document ] - Document 'VMware vSphere As Built Report - 2018-09-20_09.53.30' processing started. hen try the command again.
Add-Type : Cannot find path '/Users/dev/projects/As-Built-Report-dev/PresentationCore.dll' because it does not exist.
At /Users/dev/projects/As-Built-Report-dev/Styles/VMware.ps1:2 char:5

  • Add-Type -AssemblyName "PresentationCore"
    
  • ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
  • CategoryInfo : ObjectNotFound: (/Users/dev...presentationCore.dll:String) [Add-Type], ItemNotFoundException
  • FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.AddTypeCommand

Unable to find type [Windows.Media.Fonts].
At /Users/dev/projects/As-Built-Report-dev/Styles/VMware.ps1:4 char:9

  • $Font = [Windows.Media.Fonts]::SystemFontFamilies | Where-Object {$_. ...
  •     ~~~~~~~~~~~~~~~~~~~~~
    
  • CategoryInfo : InvalidOperation: (Windows.Media.Fonts:TypeName) [], RuntimeException
  • FullyQualifiedErrorId : TypeNotFound

VM information

Would it be possible to get the IP address of the VM and the Portgroup its attached too?

Amazing work guys!

Add Support for vRealize Automation

Is your feature request related to a problem? Please describe.
Similar to vSphere, vRealize Automation has a lot of configurable settings that can be hard to document or track. Automating the generation of As-Built reports via PowerShell would be awesome.

Describe the solution you'd like
Gather data for the vRA Default Tenant and Sub-tenants. Leverage PowervRA or directly integrate with the REST APIs for information.

Describe alternatives you've considered
Only real option is to do it manually. I have considered doing something like this, but instead of putting it directly into a word doc or HTML doc putting it into some sort of JSON or YAML data structure.

Firewall allowed IP

Is your feature request related to a problem? Please describe.
No

Describe the solution you'd like
In the Firewall section view the allowed IP addresses if "Not All" is allowed.

Describe alternatives you've considered
None

Additional context
None

vSphere: Incorrect vSAN disk count and type

Describe the bug
In the vSAN section, the Type and Total Number of Disks values are reported incorrectly. Only SSDs are counted in the number of disks, and Hybrid clusters may be reported as All-Flash.

To Reproduce
Steps to reproduce the behavior:

  1. Run the report on an environment with a Hybrid vSAN cluster
  2. Note the incorrect Type and Total Number of Disks

Expected behavior
vSAN type should report "Hybrid" and the total number of disks should include HDD capacity disks.

Screenshots
Report run against a Hybrid vSAN cluster; type is wrong and disk count should be 6:
image

Add more details in the vSAN section

Is your feature request related to a problem? Please describe.
This issue purpose is to request an enhancement to the vSAN section.

Describe the solution you'd like
Here's a first iteration of the missing informations that may be added:

  • Performance Service
  • Health Service
    • Configuration
    • Results
  • Disk groups details
  • Fault Domains
  • Streched Cluster configuration
    • Witness
  • Policies

I've start working at adding Performance Service detailed informations, here is an example of the result:

image

I will submit a first PR if this feature request is approved.

Cisco UCS Type not working

The Cisco UCS Type doesn't seem to be working. At first I was getting an error that I was missing the require CiscoUcsPS. I discovered that the Cisco UCS module has been renamed to Cisco.UCSManager which is what I had installed (https://community.cisco.com/t5/cisco-developed-ucs-integrations/cisco-ucs-powertool-suite-powershell-modules-for-cisco-ucs/ta-p/3639523). So I edited the requires to reflect the new module name. But then I hit an error when it tries to build the "Server Inventory" Table.

Select-Object : The property cannot be processed because the property "Operability" already exists.
At C:\Users\cma503\Documents\WindowsPowerShell\Modules\As-Built-Report\Src\Public\Reports\UCS\UCS.ps1:109 char:81
+ ... D, SlotID | Select-Object @{L = 'Server Id'; E = {$_.ServerId}}, Mode ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (Cisco.Ucsm.ComputeBlade:PSObject) [Select-Object], PSArgumentException
    + FullyQualifiedErrorId : AlreadyExistingUserSpecifiedPropertyNoExpand,Microsoft.PowerShell.Commands.SelectObjectCommand

I'm not sure how to fix that one. I also got a bunch more red errors after that one, but figured I'd start here.

Validate Style Sheets dynamically

Is your feature request related to a problem? Please describe.
Validate Style Sheet dynamically.

Describe the solution you'd like

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

vSphere Report. Add missing vCenter Server Advanced Settings for Certificates

Is your feature request related to a problem? Please describe.
I would like to see all of the 'certmgmt' settings in the vSphere report please.

Describe the solution you'd like
Amend the vCenter Server SSL Certificate region to include:

vpxd.certmgmt.mode 
vpxd.certmgmt.certs.hardThreshold 
vpxd.certmgmt.certs.minutesBefore 
vpxd.certmgmt.certs.pollIntervalDays 
vpxd.certmgmt.certs.softThreshold 

#region vCenter Server SSL Certificate
Section -Style Heading3 'SSL Certificate' {
    $VcSslCertHash = @{
        Country          = ($VCAdvSettings | Where-Object {$_.name -eq 'vpxd.certmgmt.certs.cn.country'}).Value
        Email            = ($VCAdvSettings | Where-Object {$_.name -eq 'vpxd.certmgmt.certs.cn.email'}).Value
        Locality         = ($VCAdvSettings | Where-Object {$_.name -eq 'vpxd.certmgmt.certs.cn.localityName'}).Value
        State            = ($VCAdvSettings | Where-Object {$_.name -eq 'vpxd.certmgmt.certs.cn.state'}).Value
        Organization     = ($VCAdvSettings | Where-Object {$_.name -eq 'vpxd.certmgmt.certs.cn.organizationName'}).Value
        OrganizationUnit = ($VCAdvSettings | Where-Object {$_.name -eq 'vpxd.certmgmt.certs.cn.organizationalUnitName'}).Value
        DaysValid        = ($VCAdvSettings | Where-Object {$_.name -eq 'vpxd.certmgmt.certs.daysValid'}).Value
        Mode             = ($VCAdvSettings | Where-Object {$_.name -eq 'vpxd.certmgmt.mode'}).Value
        HardThreshold    = ($VCAdvSettings | Where-Object {$_.name -eq 'vpxd.certmgmt.certs.hardThreshold'}).Value
        MinutesBefore    = ($VCAdvSettings | Where-Object {$_.name -eq 'vpxd.certmgmt.certs.minutesBefore'}).Value
        PollInterval     = ($VCAdvSettings | Where-Object {$_.name -eq 'vpxd.certmgmt.certs.pollIntervalDays'}).Value
        SoftThreshold    = ($VCAdvSettings | Where-Object {$_.name -eq 'vpxd.certmgmt.certs.softThreshold'}).Value
    }
        $VcSslCertificate = $VcSslCertHash | Select-Object @{L = 'Country'; E = {$_.Country}}, @{L = 'State'; E = {$_.State}}, @{L = 'Locality'; E = {$_.Locality}}, 
        @{L = 'Organization'; E = {$_.Organization}}, @{L = 'Organizational Unit'; E = {$_.OrganizationUnit}}, @{L = 'Email'; E = {$_.Email}}, @{L = 'Validity'; E = {"$($_.DaysValid / 365) Years"}},          
        @{L = 'Mode'; E = {$_.Mode}}, @{L = 'Hard Threshold'; E = {"$($_.HardThreshold) Days"}}, @{L = 'Soft Threshold'; E = {"$($_.SoftThreshold) Days"}}, 
        @{L = 'Poll Interval'; E = {"$($_.PollInterval) Days"}}, @{L = 'Minutes Before'; E = {$($_.MinutesBefore)}}
        $VcSslCertificate | Table -Name "$vCenter SSL Certificate" -List -ColumnWidths 50, 50
}
#endregion vCenter Server SSL Certificate

Describe alternatives you've considered
None; I have tested the amendments and they work just fine.

Additional context
image

Update vSphere.ps1 to include Summary InfoLevel 1 information

Is your feature request related to a problem? Please describe.
Currently the vSphere.ps1 script lacks summarised information for each section.

Describe the solution you'd like
Add additional code which aligns to InfoLevel 1 to provide summary information for each section

Describe alternatives you've considered

Additional context

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.