Archive

Posts Tagged ‘powerCLI’

Massive VM Advanced Setting check with PowerCLI

11 Mar 2015 Leave a comment

Some time ago, I needed a quick way to check the value of an Advanced VM Setting on all VM of a vCenter. As usual, PowerCLI to the rescue! It’s just a one-liner:

 Get-VM | Get-AdvancedSetting -Name

And with another PowerCLI one-liner I was able to change it massively:

Get-VM | Get-AdvancedSetting -Name | Set-AdvancedSetting -Value ” -Confirm:$false

Categories: vmware, vsphere Tags: , ,

Check massivo degli advanced setting delle VM con PowerCLI

11 Mar 2015 Leave a comment

Mi è capitato di dover fare un check sul valore di un advanced setting su tutte le VM di un vCenter. Anche in questo caso una sola riga di PowerCLI è stata sufficiente, eccola:

 Get-VM | Get-AdvancedSetting -Name

Se poi servisse modificarlo in modo massivo, anche questo si puo’ fare con una singola riga di PowerCLI:

Get-VM | Get-AdvancedSetting -Name  | Set-AdvancedSetting -Value ” -Confirm:$false

Categories: vmware, vsphere Tags: , ,

Retrieve vCenter Scheduled Task with PowerCLI

Some days ago, I was asked if there is an ultra quick&easy way to retrieve all vCenter Scheduled Task, and… here is my answer: a PowerCLI one liner!

Here it is:

(Get-View ScheduledTaskManager).ScheduledTask | %{ (Get-View $_).Info }

Be aware that all dates and times are expressed in UTC.

Categories: vmware, vsphere Tags:

Estrarre l’elenco degli Scheduled Task di vCenter con PowerCLI

Qualche giorno fa mi e’ stato chiesto se c’era un modo facile e veloce per estrarre l’elenco degli Scheduled Task di vCenter: ovviamente ho pensato subito a PowerCLI e… si fa tutto con un comando di una sola riga !

Eccolo qui:

(Get-View ScheduledTaskManager).ScheduledTask | %{ (Get-View $_).Info }

 

Nota: le date e gli orari restituiti sono espressi in UTC

Categories: vmware, vsphere Tags:

Import-Export VM notes with PowerCLI

24 Jul 2014 1 comment

In a previous post I blogged about exporting and importing custom attributes, but sometimes you need to do the same also for notes.

A little PowerCLI and all is done quickly.

Export

Just connect to our source vCenter, export all notes and disconnect:

Connect-VIserver -server VCsource.vlab.local
$vmList = Get-VM
$noteList = @()
foreach ($vm in $vmList) {
$row = “” | Select Name, Notes
$row.name = $vm.Name
$row.Notes = $vm | select Notes
$notelist += $row
}
$noteList | Export-Csv “.\exported-notes.csv” –NoTypeInformation

Disconnect-VIServer “*” -Confirm:$False

 

Import

And now lets import all notes:

Connect-VIserver -server VCdest.vlab.local

$noteList = Import-Csv “.\exported-notes.csv”
foreach($nLine in $noteList){
if ( $nLine.Notes -ne “”){
Set-VM -VM $nLine.Name -Notes $nLine.Notes -Confirm:$false
}
}

Disconnect-VIServer “*” -Confirm:$False

Categories: vmware, vsphere Tags: ,

Import-Export delle note delle VM tramite PowerCLI

24 Jul 2014 Leave a comment

Nel precedente post ho presentato un paio di script per importare e esportare i custom attributes, ma capita di aver bisogno di fare la stessa cosa anche per le note delle vm.

Anche in questo caso, con pochissime righe in PowerCLI il tutto si risolve velocemente.

Export

Per esportare è sufficiente connettersi al vCenter, esportare tutte le note e disconnettersi:

Connect-VIserver -server VCsource.vlab.local
$vmList = Get-VM
$noteList = @()
foreach ($vm in $vmList) {
    $row = "" | Select Name, Notes
    $row.name = $vm.Name
    $row.Notes = $vm | select Notes
    $notelist += $row
}
$noteList | Export-Csv ".\exported-notes.csv" –NoTypeInformation

Disconnect-VIServer "*" -Confirm:$False

 

Import

E ora reimportiamo il tutto:

Connect-VIserver -server VCdest.vlab.local

$noteList = Import-Csv ".\exported-notes.csv"
foreach($nLine in $noteList){
    if ( $nLine.Notes -ne ""){
        Set-VM -VM $nLine.Name -Notes $nLine.Notes -Confirm:$false
    }
}

Disconnect-VIServer "*" -Confirm:$False

Categories: vmware, vsphere Tags: ,

Import–Export VM custom attributes from vCenter with PowerCLI

21 Jul 2014 1 comment

Some time ago, during a migration, I needed to migrate all VM custom attributes from a cluster in a first vCenter to another one.

As easy (and boring…) as is to just retype the attributes value, there was over 400 VMs, and I didn’t want to do this by hand.

So…PowerCLI to the rescue! Here the two little script I used for this task.

 

Export

First lets connect to our source vCenter and export all custom attributes:

Connect-VIserver -server VCsource.vlab.local

$attList = @()
$attList = Get-CustomAttribute -TargetType VirtualMachine
$attList | Export-Csv “.\exported-attributes.csv” –NoTypeInformation

then lets export all attributes values and disconnect:

$valueList =@()
Get-cluster CL01 | get-vm | % {
for($i = 0; $i -lt $_.CustomFields.Count; $i ++ ){
$row = “” | Select VMname, FieldKey, FieldValue
$row.VMname = $_.Name
$row.FieldKey = $_.CustomFields.Keys[$i]
$row.FieldValue = $_.CustomFields.Values[$i]
$valueList += $row
}
}
$valueList | Export-Csv “.\exported-attributes-value.csv” -NoTypeInformation

 

Disconnect-VIServer –server “*” -Confirm:$False

 

Import

Ok, now we have all vm moved to the destination vCenter and is time to import all attributes.

First connect to destination vCenter and re-create attributes:

Connect-VIserver -server VCdest.vlab.local

$attList = @()
$attList = Import-Csv “.\exported-attributes.csv”
foreach ($CustAttrib in $attList){
New-CustomAttribute -Name $CustAttrib.Name -TargetType $CustAttrib.TargetType
}

and, at last, lets import all attribute values and disconnect:

$NewAttribs = Import-Csv “.\exported-attributes-value.csv”
foreach($line in $NewAttribs){
# if value is empty, skip it (just to have all the import go faster)
if( $line.FieldValue -ne “”) {
Set-CustomField -Entity (get-vm $line.VMName) -Name $line.FieldKey -Value $line.FieldValue -confirm:$false
}
}

Disconnect-VIServer “*” -Confirm:$False

 

Easy peasy, doesn’t it?  Occhiolino

Categories: vmware, vsphere Tags: ,