Avatar of compdigit44
compdigit44
 asked on

PowerCli 6 Script Questions

I am not very good in PowerShell yet and create the following script to check the values listed below. Ideally I would like all results displayed in one out-gridview with the name of the host listed to the right or left of each value and be able to use a variable in my host name so I can scan multiple host but having problems getting a variable to work. I think I am 50% there and was hoping for some additional guidance.

get-advancedsetting -entity server1 -name datamover.hardwareAcceleratedMove | out-gridview
get-advancedsetting -entity server1 -name DataMover.HardwareAcceleratedInit | out-gridview
get-advancedsetting -entity server1 -name VMFS3.HardwareAcceleratedLocking | out-gridview
get-advancedsetting -entity server1 -name VMFS3.EnableBlockDelete | out-gridview
get-advancedsetting -entity server1 -name DataMover.MaxHWTransferSize | out-gridview
get-vmhost -name server1 | esxcli storage nmp satp rule list | out-gridview

Open in new window

VMwarePowershell

Avatar of undefined
Last Comment
Wasim Shaikh

8/22/2022 - Mon
Wasim Shaikh

Get-advancedSetting give one type of objects and esxcli another type.
May be you will have to run both of them seperately.
Assuming you have multiple Hosts and want to retrieve values for all of them try the scipt below.
NOTE: Each code block is doing the same thing, its just the different way to get the results.
Output without Formatting
$filter=@("DataMover.HardwareAcceleratedMove","DataMover.HardwareAcceleratedInit","VMFS3.HardwareAcceleratedLocking","VMFS3.EnableBlockDelete","DataMover.MaxHWTransferSize")
Get-VMHost | Get-AdvancedSetting | where{$filter -contains $_.Name} | Select Entity, Name, Value | Sort-Object -Property Entity

Open in new window

Output formatted Table
$filter=@("DataMover.HardwareAcceleratedMove","DataMover.HardwareAcceleratedInit","VMFS3.HardwareAcceleratedLocking","VMFS3.EnableBlockDelete","DataMover.MaxHWTransferSize")
Get-VMHost | Get-AdvancedSetting | where{$filter -contains $_.Name} | Select Entity, Name, Value | Sort-Object -Property Entity | FT -AutoSize

Open in new window

Output Grid
$filter=@("DataMover.HardwareAcceleratedMove","DataMover.HardwareAcceleratedInit","VMFS3.HardwareAcceleratedLocking","VMFS3.EnableBlockDelete","DataMover.MaxHWTransferSize")
Get-VMHost | Get-AdvancedSetting | where{$filter -contains $_.Name} | Select Entity, Name, Value | Sort-Object -Property Entity | Out-GridView

Open in new window

Output to a .CSV file (remember to change the -path)
$filter=@("DataMover.HardwareAcceleratedMove","DataMover.HardwareAcceleratedInit","VMFS3.HardwareAcceleratedLocking","VMFS3.EnableBlockDelete","DataMover.MaxHWTransferSize")
Get-VMHost | Get-AdvancedSetting | where{$filter -contains $_.Name} | Select Entity, Name, Value | Sort-Object -Property Entity | Export-Csv -Path d:\Info.csv -NoTypeInformation

Open in new window

compdigit44

ASKER
This is very interesting ....

I understand that $filter is a variable but what is the purpose of the @ syn.. Also after the Get-VMhost I could add -name to add a list of specific host correct.
ASKER CERTIFIED SOLUTION
Wasim Shaikh

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.
compdigit44

ASKER
Thank you very much.. I am going to read up more on PowerShell arrays and will give the scripts a try tomorrow..
This is the best money I have ever spent. I cannot not tell you how many times these folks have saved my bacon. I learn so much from the contributors.
rwheeler23
compdigit44

ASKER
Wow great advance as always!!!
compdigit44

ASKER
You script works really well... IS there any way to else include the SATP list output with in the Grid... I am just checking to see it a rule is present for a storage device starting with "PURE"
Wasim Shaikh

SATP query cannot be added in same script block, but if the script is broken down in functions then might be possible to get output in HTML.
this kind of scripts take time to develop.
⚡ FREE TRIAL OFFER
Try out a week of full access for free.
Find out why thousands trust the EE community with their toughest problems.