I was looking for the correct syntax to create a vSwitch with PowerCLI which has no vmnics attached (aka: Internal vSwitch).
I tried to run the following cmdlet. The pNIC’s are specified with the –Nic parameter.
Get-VirtualSwitch -VMHost "ServerName" -Name "vSwitchName" | Set-VirtualSwitch -Nic "" -Confirm:$false
But this resulted in a nice error
Read more…
Sometimes you need to check if something exists. For example, let’s check if a specific user exists on our ESX host (you need to connect directly to the ESX host for this example to work).
We do this by running:
Get-VMHostAccount -Id UserName
Read more…
This is a rather short PowerCLI post.
Licensing is not directly available in PowerCLI cmd-lets, so we’ll have to reach out to the SDK, which is easily accessible from PowerShell. We’ll have to fetch a LicenseAssignmentManager to set the license, so this mean using quite some Get-View cmdlets. These could all be combined into a single line of code but makes it hard to read.
$strVMHostName is the name of your ESX(i) server to license
$strLicense is your licensekey. All zero’s like in the example sets the host to evaluation mode.
Enjoy!
$strVMHostName = "HostName.domain.com"
$strLicense = "00000-00000-00000-00000-00000"
$objServiceInstance = Get-View -Id ServiceInstance -Property Content.LicenseManager
$objLicenseManager = Get-View -Id $objServiceInstance.Content.LicenseManager -Property LicenseAssignmentManager
$objLicenseAssignmentManager = Get-View -Id $objLicenseManager.LicenseAssignmentManager
$objVMHost = Get-View -ViewType "HostSystem" -Filter @{Name=$strVMHostName} -Property Config.Host
$objLicenseAssignmentManager.UpdateAssignedLicense($objVMHost.Config.Host.Value, $strLicense, $null)
A while ago i wrote a script to distribute Exchange mailboxes evenly across different mailbox databases on one server.
Recently, that customer installed an additional mailbox server. So the script needed an update to distribute the mailboxes evenly across multiple servers.
Here is the explanation of the script:
Read more…