VMware Cloud Community
ivanunnio
Enthusiast
Enthusiast
Jump to solution

Unable get Serial Number of ESXi

Hi, kindness, help on the line to retrieve the server serial number.

In practice, when I run the script I recover all the information except the serial number of the server.

This is the row (@{N="Serial Number";  Expression = { ($_.Hardware.SystemInfo.OtherIdentifyingInfo | where { $_.IdentifierType.Key -eq "ServiceTag" }).IdentifierValue } },)

Where am I going wrong?

Thanks so much

# Inserire il Virtual Center desiderato

$hosts = "xxxxxxxxx"

# Inserire le credenziali del Virtual Center

$user = "xxxx"

$password = "xxxxxxxx"

# Mi collego al VC

Connect-VIServer $hosts  -User $user -Password $password #-SaveCredentials

# Definisco la variabile globale

$VMHosts = Get-VMHost

#$VMHosts = Get-View -ViewType HostSystem -property name,Hardware.SystemInfo

$Inventory = ForEach ($VMHost in $VMHosts)

   {

   "" | Select-Object -Property @{N="Name";E={$VMHost.Name}},

   @{N="Vendor";E={(Get-View -ViewType HostSystem -Filter @{"Name" = $VMHost.Name}).Hardware.Systeminfo.Vendor}},

   @{N="Model";E={(Get-View -ViewType HostSystem -Filter @{"Name" = $VMHost.Name}).Hardware.Systeminfo.Model}},

   @{N="Serial Number";  Expression = { ($_.Hardware.SystemInfo.OtherIdentifyingInfo | where { $_.IdentifierType.Key -eq "ServiceTag" }).IdentifierValue } },

   @{N="CPU Model";E={$VMHost.ExtensionData.Summary.Hardware.CpuModel}},

   @{N="Datacenter";E={(Get-Datacenter -VMHost $VMHost.Name).Name}},

   @{N="Cluster";E={(Get-Cluster -VMHost $VMHost.Name).Name}},

   @{N="Hypervisor";E={$VMHost.Extensiondata.Config.Product.Name}},

   @{N="Hypervisor Version";E={$VMHost.Extensiondata.Config.Product.Version}},

   @{N="Clock Speed (Mhz)";E={$VMHost.ExtensionData.Summary.Hardware.CpuMhz}},

   @{N="Memory (MB)";E={$VMHost.MemoryTotalMB}},

   @{N="Hyperthreading Enabled";E={$VMHost.HyperThreadingActive}},

   @{N="Number of Cores";E={$VMHost.ExtensionData.Summary.Hardware.numCpuCores}}

   }

  

$Inventory | Write-Output

# $Inventory | Export-Csv -NoTypeInformation -Path ("C:\scripts\repository\sal\Inv_hosts_600xBO.csv")

Reply
0 Kudos
26 Replies
ivanunnio
Enthusiast
Enthusiast
Jump to solution

Hi

Yes yes sorry I had already tried it. I think thet my case is similar to this:

VMware PowerCLI Forum - VMware {code}

I try to solve and let you know:

Reply
0 Kudos
LucD
Leadership
Leadership
Jump to solution

That last one did have a new version of the Serial Number line.

Did you use that one?

I don't think your PowerCLI installation is corrupt since your test script works without a problem.


Blog: lucd.info  Twitter: @LucD22  Co-author PowerCLI Reference

Reply
0 Kudos
ivanunnio
Enthusiast
Enthusiast
Jump to solution

I wanted to update the version for some problems on the variables that were not deleted.

Now I have this problem, could you give me an indication, thank you very much.

PS C:\scripts\VCA7> .\ESTRAZIONI_DATI_ESXi_BO.ps1

Add-PSSnapin : The Windows PowerShell snap-in 'VMware.VimAutomation.Core' is not installed on this computer.

At C:\scripts\VCA7\ESTRAZIONI_DATI_ESXi_BO.ps1:3 char:1

+ Add-PSSnapin -Name VMware.VimAutomation.Core

+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    + CategoryInfo          : InvalidArgument: (VMware.VimAutomation.Core:String) [Add-PSSnapin], PSArgumentException

    + FullyQualifiedErrorId : AddPSSnapInRead,Microsoft.PowerShell.Commands.AddPSSnapinCommand

.\Scripts\Initialize-PowerCLIEnvironment.ps1 : The term '.\Scripts\Initialize-PowerCLIEnvironment.ps1' 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.

At C:\scripts\VCA7\ESTRAZIONI_DATI_ESXi_BO.ps1:4 char:1

+ .\Scripts\Initialize-PowerCLIEnvironment.ps1

+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    + CategoryInfo          : ObjectNotFound: (.\Scripts\Initi...Environment.ps1:String) [], CommandNotFoundException

    + FullyQualifiedErrorId : CommandNotFoundException

Connect-VIServer : 02/03/2020 14:34:32  Connect-VIServer                Could not determine user name and/or password fo

r server

TELVC6001BO009.telecomitalia.local

At C:\scripts\VCA7\ESTRAZIONI_DATI_ESXi_BO.ps1:20 char:1

+ Connect-VIServer $hosts # -User $user -Password $password #-SaveCrede ...

+ ~~~~~~~~~~~~~~~~~~~~~~~

    + CategoryInfo          : NotSpecified: (:) [Connect-VIServer], ViServerConnectionException

    + FullyQualifiedErrorId : ViCore_Login_CredentialNotFound,VMware.VimAutomation.ViCore.Cmdlets.Commands.ConnectVISe

   rver

Get-VMHost : 02/03/2020 14:34:32        Get-VMHost              You are not currently connected to any servers. Please c

onnect first

using a Connect cmdlet.

At C:\scripts\VCA7\ESTRAZIONI_DATI_ESXi_BO.ps1:24 char:12

+ $VMHosts = Get-VMHost #| Get-VMHostHardware | Format-List

+            ~~~~~~~~~~

    + CategoryInfo          : ResourceUnavailable: (:) [Get-VMHost], ViServerConnectionException

    + FullyQualifiedErrorId : Core_BaseCmdlet_NotConnectedError,VMware.VimAutomation.ViCore.Cmdlets.Commands.GetVMHost

Reply
0 Kudos
LucD
Leadership
Leadership
Jump to solution

What script are you running?

It apparently tries to load PSSnapin, which were abandoned since PowerCLI release 6.5.1.

Also the old Initialize-PowerCLIEnvironment.ps1 script is not used anymore.

What is that ESTRAZIONI_DATI_ESXi_BO.ps1 script?

Which PowerCLI version are you using?

Do a

Get-Module -Name VMware* -ListAvailable


Blog: lucd.info  Twitter: @LucD22  Co-author PowerCLI Reference

Reply
0 Kudos
ivanunnio
Enthusiast
Enthusiast
Jump to solution

The script is always the same, I am attaching the complete script:

The version of power Cli is 10.1.0 build 8346946

# Preparo l'ambiente PowerCLI cd "C:\Program Files (x86)\VMware\Infrastructure\vSphere PowerCLI" Add-PSSnapin -Name VMware.VimAutomation.Core .\Scripts\Initialize-PowerCLIEnvironment.ps1     # Inserire il Virtual Center desiderato $hosts = @(     "xxx.local" #   "xxx.local" );  # Inserire le credenziali del Virtual Center # $user = "xxx"  # $password = "xxx"  # Mi collego al VC Connect-VIServer $hosts # -User $user -Password $password #-SaveCredentials  # Definisco la variabile globale  $VMHosts = Get-VMHost #| Get-VMHostHardware | Format-List  #$VMHosts = Get-View -ViewType HostSystem -property name,Hardware.SystemInfo  $Inventory = ForEach ($VMHost in $VMHosts)     {     "" | Select-Object -Property @{N="Name";E={$VMHost.Name}},     @{N="Vendor";E={$VMHost.ExtensionData.Hardware.Systeminfo.Vendor}},     @{N="Model";E={$VMHost.ExtensionData.Hardware.Systeminfo.Model}},     @{N="Serial Number";  Expression = { (Get-VMHostHardware -VMHost $VMHost).SerialNumber }},     @{N="CPU Model";E={$VMHost.ExtensionData.Summary.Hardware.CpuModel}},     @{N="Datacenter";E={(Get-Datacenter -VMHost $VMHost).Name}},     @{N="Cluster";E={(Get-Cluster -VMHost $VMHost).Name}},     @{N="Hypervisor";E={$VMHost.Extensiondata.Config.Product.Name}},     @{N="Hypervisor Version";E={$VMHost.Extensiondata.Config.Product.Version}},     @{N="Clock Speed (Mhz)";E={$VMHost.ExtensionData.Summary.Hardware.CpuMhz}},     @{N="Memory (MB)";E={$VMHost.MemoryTotalMB}},     @{N="Hyperthreading Enabled";E={$VMHost.HyperThreadingActive}},     @{N="Number of Cores";E={$VMHost.ExtensionData.Summary.Hardware.numCpuCores}}     }   $Inventory | Write-Output

this is th outpoot of get-module

PS C:\Users\Administrator> Get-Module -Name VMware* -ListAvailable       Directory: C:\Users\Administrator\Documents\WindowsPowerShell\Modules   ModuleType Version    Name                                ExportedCommands ---------- -------    ----                                ---------------- Script     6.7.0.8... VMware.DeployAutomation             {Add-DeployRule, Add-ProxyServer, Add-ScriptBundle, Copy-D... Script     6.7.0.8... VMware.ImageBuilder                 {Add-EsxSoftwareDepot, Add-EsxSoftwarePackage, Compare-Esx... Manifest   10.2.0.... VMware.PowerCLI Script     6.7.0.9... VMware.Vim Script     10.1.0.... VMware.VimAutomation.Cis.Core       {Connect-CisServer, Disconnect-CisServer, Get-CisService} Script     10.0.0.... VMware.VimAutomation.Cloud          {Add-CIDatastore, Connect-CIServer, Disconnect-CIServer, G... Script     10.1.0.... VMware.VimAutomation.Common Script     10.1.0.... VMware.VimAutomation.Core           {Add-PassthroughDevice, Add-VirtualSwitchPhysicalNetworkAd... Script     6.5.4.7... VMware.VimAutomation.HA             Get-DrmInfo Script     7.5.0.8... VMware.VimAutomation.HorizonView    {Connect-HVServer, Disconnect-HVServer} Script     10.0.0.... VMware.VimAutomation.License        Get-LicenseDataManager Script     10.2.0.... VMware.VimAutomation.Nsxt           {Connect-NsxtServer, Disconnect-NsxtServer, Get-NsxtService} Script     10.0.0.... VMware.VimAutomation.PCloud         {Connect-PIServer, Disconnect-PIServer, Get-PIComputeInsta... Script     10.1.0.... VMware.VimAutomation.Sdk            {Get-PSVersion, Get-InstallPath} Script     10.0.0.... VMware.VimAutomation.Srm            {Connect-SrmServer, Disconnect-SrmServer} Script     10.1.0.... VMware.VimAutomation.Storage        {Add-KeyManagementServer, Copy-VDisk, Export-SpbmStoragePo... Script     1.2.0.0    VMware.VimAutomation.StorageUtility Update-VmfsDatastore Script     10.1.0.... VMware.VimAutomation.Vds            {Add-VDSwitchPhysicalNetworkAdapter, Add-VDSwitchVMHost, E... Script     10.0.0.... VMware.VimAutomation.Vmc            {Connect-Vmc, Disconnect-Vmc, Get-VmcService, Connect-VmcS... Script     10.0.0.... VMware.VimAutomation.vROps          {Connect-OMServer, Disconnect-OMServer, Get-OMAlert, Get-O... Script     6.5.1.7... VMware.VumAutomation                {Add-EntityBaseline, Copy-Patch, Get-Baseline, Get-Complia...       Directory: C:\Program Files (x86)\VMware\Infrastructure\PowerCLI\Modules   ModuleType Version    Name                                ExportedCommands ---------- -------    ----                                ---------------- Script     6.7.0.8... VMware.DeployAutomation             {Add-DeployRule, Add-ProxyServer, Add-ScriptBundle, Copy-D... Binary     6.0.0.0    VMware.DeployAutomation Script     6.7.0.8... VMware.ImageBuilder                 {Add-EsxSoftwareDepot, Add-EsxSoftwarePackage, Compare-Esx... Binary     6.0.0.0    VMware.ImageBuilder Manifest   10.2.0.... VMware.PowerCLI Script     6.7.0.9... VMware.Vim Script     10.1.0.... VMware.VimAutomation.Cis.Core       {Connect-CisServer, Disconnect-CisServer, Get-CisService} Binary     6.5.0.4... VMware.VimAutomation.Cis.Core Script     10.0.0.... VMware.VimAutomation.Cloud          {Add-CIDatastore, Connect-CIServer, Disconnect-CIServer, G... Binary     6.5.0.4... VMware.VimAutomation.Cloud Script     10.1.0.... VMware.VimAutomation.Common Manifest   6.5.0.4... VMware.VimAutomation.Common Script     10.1.0.... VMware.VimAutomation.Core           {Add-PassthroughDevice, Add-VirtualSwitchPhysicalNetworkAd... Binary     6.5.0.2... VMware.VimAutomation.Core           HookGetViewAutoCompleter Script     6.5.4.7... VMware.VimAutomation.HA             Get-DrmInfo Binary     6.0.0.0    VMware.VimAutomation.HA Script     7.5.0.8... VMware.VimAutomation.HorizonView    {Connect-HVServer, Disconnect-HVServer} Binary     7.0.2.4... VMware.VimAutomation.HorizonView Script     10.0.0.... VMware.VimAutomation.License        Get-LicenseDataManager Binary     6.5.0.4... VMware.VimAutomation.License Script     10.2.0.... VMware.VimAutomation.Nsxt           {Connect-NsxtServer, Disconnect-NsxtServer, Get-NsxtService} Script     10.0.0.... VMware.VimAutomation.PCloud         {Connect-PIServer, Disconnect-PIServer, Get-PIComputeInsta... Binary     6.5.0.4... VMware.VimAutomation.PCloud Script     10.1.0.... VMware.VimAutomation.Sdk Manifest   6.5.0.4... VMware.VimAutomation.Sdk            Get-PSVersion Script     10.0.0.... VMware.VimAutomation.Srm            {Connect-SrmServer, Disconnect-SrmServer} Script     10.1.0.... VMware.VimAutomation.Storage        {Add-KeyManagementServer, Copy-VDisk, Export-SpbmStoragePo... Binary     6.5.0.4... VMware.VimAutomation.Storage Script     1.2.0.0    VMware.VimAutomation.StorageUtility Update-VmfsDatastore Script     10.1.0.... VMware.VimAutomation.Vds            {Add-VDSwitchPhysicalNetworkAdapter, Add-VDSwitchVMHost, E... Binary     6.5.0.4... VMware.VimAutomation.Vds Script     10.0.0.... VMware.VimAutomation.Vmc            {Connect-Vmc, Disconnect-Vmc, Get-VmcService, Connect-VmcS... Script     10.0.0.... VMware.VimAutomation.vROps          {Connect-OMServer, Disconnect-OMServer, Get-OMAlert, Get-O... Binary     6.5.0.4... VMware.VimAutomation.vROps Script     6.5.1.7... VMware.VumAutomation                {Add-EntityBaseline, Copy-Patch, Get-Baseline, Get-Complia... Binary     6.0.0.0    VMware.VumAutomation   PS C:\Users\Administrator>

PS C:\Users\Administrator> Get-Module -Name VMware* -ListAvailable

    Directory: C:\Users\Administrator\Documents\WindowsPowerShell\Modules

ModuleType Version    Name                                ExportedCommands---------- -------    ----                                ----------------Script     6.7.0.8... VMware.DeployAutomation             {Add-DeployRule, Add-ProxyServer, Add-ScriptBundle, Copy-D...Script     6.7.0.8... VMware.ImageBuilder                 {Add-EsxSoftwareDepot, Add-EsxSoftwarePackage, Compare-Esx...Manifest   10.2.0.... VMware.PowerCLIScript     6.7.0.9... VMware.VimScript     10.1.0.... VMware.VimAutomation.Cis.Core       {Connect-CisServer, Disconnect-CisServer, Get-CisService}Script     10.0.0.... VMware.VimAutomation.Cloud          {Add-CIDatastore, Connect-CIServer, Disconnect-CIServer, G...Script     10.1.0.... VMware.VimAutomation.CommonScript     10.1.0.... VMware.VimAutomation.Core           {Add-PassthroughDevice, Add-VirtualSwitchPhysicalNetworkAd...Script     6.5.4.7... VMware.VimAutomation.HA             Get-DrmInfoScript     7.5.0.8... VMware.VimAutomation.HorizonView    {Connect-HVServer, Disconnect-HVServer}Script     10.0.0.... VMware.VimAutomation.License        Get-LicenseDataManagerScript     10.2.0.... VMware.VimAutomation.Nsxt           {Connect-NsxtServer, Disconnect-NsxtServer, Get-NsxtService}Script     10.0.0.... VMware.VimAutomation.PCloud         {Connect-PIServer, Disconnect-PIServer, Get-PIComputeInsta...Script     10.1.0.... VMware.VimAutomation.Sdk            {Get-PSVersion, Get-InstallPath}Script     10.0.0.... VMware.VimAutomation.Srm            {Connect-SrmServer, Disconnect-SrmServer}Script     10.1.0.... VMware.VimAutomation.Storage        {Add-KeyManagementServer, Copy-VDisk, Export-SpbmStoragePo...Script     1.2.0.0    VMware.VimAutomation.StorageUtility Update-VmfsDatastoreScript     10.1.0.... VMware.VimAutomation.Vds            {Add-VDSwitchPhysicalNetworkAdapter, Add-VDSwitchVMHost, E...Script     10.0.0.... VMware.VimAutomation.Vmc            {Connect-Vmc, Disconnect-Vmc, Get-VmcService, Connect-VmcS...Script     10.0.0.... VMware.VimAutomation.vROps          {Connect-OMServer, Disconnect-OMServer, Get-OMAlert, Get-O...Script     6.5.1.7... VMware.VumAutomation                {Add-EntityBaseline, Copy-Patch, Get-Baseline, Get-Complia...

    Directory: C:\Program Files (x86)\VMware\Infrastructure\PowerCLI\Modules

ModuleType Version    Name                                ExportedCommands---------- -------    ----                                ----------------Script     6.7.0.8... VMware.DeployAutomation             {Add-DeployRule, Add-ProxyServer, Add-ScriptBundle, Copy-D...Binary     6.0.0.0    VMware.DeployAutomationScript     6.7.0.8... VMware.ImageBuilder                 {Add-EsxSoftwareDepot, Add-EsxSoftwarePackage, Compare-Esx...Binary     6.0.0.0    VMware.ImageBuilderManifest   10.2.0.... VMware.PowerCLIScript     6.7.0.9... VMware.VimScript     10.1.0.... VMware.VimAutomation.Cis.Core       {Connect-CisServer, Disconnect-CisServer, Get-CisService}Binary     6.5.0.4... VMware.VimAutomation.Cis.CoreScript     10.0.0.... VMware.VimAutomation.Cloud          {Add-CIDatastore, Connect-CIServer, Disconnect-CIServer, G...Binary     6.5.0.4... VMware.VimAutomation.CloudScript     10.1.0.... VMware.VimAutomation.CommonManifest   6.5.0.4... VMware.VimAutomation.CommonScript     10.1.0.... VMware.VimAutomation.Core           {Add-PassthroughDevice, Add-VirtualSwitchPhysicalNetworkAd...Binary     6.5.0.2... VMware.VimAutomation.Core           HookGetViewAutoCompleterScript     6.5.4.7... VMware.VimAutomation.HA             Get-DrmInfoBinary     6.0.0.0    VMware.VimAutomation.HAScript     7.5.0.8... VMware.VimAutomation.HorizonView    {Connect-HVServer, Disconnect-HVServer}Binary     7.0.2.4... VMware.VimAutomation.HorizonViewScript     10.0.0.... VMware.VimAutomation.License        Get-LicenseDataManagerBinary     6.5.0.4... VMware.VimAutomation.LicenseScript     10.2.0.... VMware.VimAutomation.Nsxt           {Connect-NsxtServer, Disconnect-NsxtServer, Get-NsxtService}Script     10.0.0.... VMware.VimAutomation.PCloud         {Connect-PIServer, Disconnect-PIServer, Get-PIComputeInsta...Binary     6.5.0.4... VMware.VimAutomation.PCloudScript     10.1.0.... VMware.VimAutomation.SdkManifest   6.5.0.4... VMware.VimAutomation.Sdk            Get-PSVersionScript     10.0.0.... VMware.VimAutomation.Srm            {Connect-SrmServer, Disconnect-SrmServer}Script     10.1.0.... VMware.VimAutomation.Storage        {Add-KeyManagementServer, Copy-VDisk, Export-SpbmStoragePo...Binary     6.5.0.4... VMware.VimAutomation.StorageScript     1.2.0.0    VMware.VimAutomation.StorageUtility Update-VmfsDatastoreScript     10.1.0.... VMware.VimAutomation.Vds            {Add-VDSwitchPhysicalNetworkAdapter, Add-VDSwitchVMHost, E...Binary     6.5.0.4... VMware.VimAutomation.VdsScript     10.0.0.... VMware.VimAutomation.Vmc            {Connect-Vmc, Disconnect-Vmc, Get-VmcService, Connect-VmcS...Script     10.0.0.... VMware.VimAutomation.vROps          {Connect-OMServer, Disconnect-OMServer, Get-OMAlert, Get-O...Binary     6.5.0.4... VMware.VimAutomation.vROpsScript     6.5.1.7... VMware.VumAutomation                {Add-EntityBaseline, Copy-Patch, Get-Baseline, Get-Complia...Binary     6.0.0.0    VMware.VumAutomation

Reply
0 Kudos
LucD
Leadership
Leadership
Jump to solution

That is hard to read :smileygrin:
Perhaps next time attach such output as .txt files.

It looks as if you have a mix of multiple PowerCLI versions on your station.

I would suggest to clean up and do a fresh install from the PowerShell Gallery.

See Updating PowerCLI through the PowerShell Gallery for detailed instructions.

Once done, remove the following lines from your script.

They are not needed anymore.

# Preparo l'ambiente PowerCLI cd "C:\Program Files (x86)\VMware\Infrastructure\vSphere PowerCLI"

Add-PSSnapin -Name VMware.VimAutomation.Core

.\Scripts\Initialize-PowerCLIEnvironment.ps1  


Blog: lucd.info  Twitter: @LucD22  Co-author PowerCLI Reference

Reply
0 Kudos
ivanunnio
Enthusiast
Enthusiast
Jump to solution

Hi LucD

Thanks so much , the correct code is :

@{N="Serial Number";  Expression = { (Get-VMHostHardware -VMHost $VMHost).SerialNumber },

You are very best.

Best regards.

GR

Reply
0 Kudos