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")
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:
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
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
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
Blog: lucd.info Twitter: @LucD22 Co-author PowerCLI Reference
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
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.
Add-PSSnapin -Name VMware.VimAutomation.Core
.\Scripts\Initialize-PowerCLIEnvironment.ps1
Blog: lucd.info Twitter: @LucD22 Co-author PowerCLI Reference
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