Wednesday, December 25, 2019
Friday, December 20, 2019
VMware PowerCLI 101 - part6 - vSphere networking
Networking is one of the important factors for ensuring service availability. Incorrect network configurations will lead to the unavailability of data and services and if this happens in a production environment it will negatively affect the business.
In this article, I will briefly explain how to use PowerCLI to work with basic vSphere networking.
Connect to vCenter server using:
Connect-VIServer <IP address of vCenter>
VM IP
To get all IP details of a VM:
(Get-VM -Name <VM name>).Guest.IPAddress
VM network adapters, MAC, and IP
To get all network adapters, MAC address and IP details of a VM:
(Get-VM -Name <VM name>).Guest.Nics | select *
OR
(Get-VM -Name <VM name>).ExtensionData.Guest.Net
VDS
To get all the Virtual Distributed Switches (VDS):
Get-VDSwitch
To get all the details of a specific VDS:
Get-VDSwitch -Name <VD Switch name> | select *
To get VDS security policy:
Get-VDSwitch -Name <VD Switch name> | Get-VDSecurityPolicy | select *
VD Port group
To get all port groups of a specific VDS:
Get-VDPortgroup -VDSwitch <VD Switch name>
To get all the details of a specific port group in a VDS:
Get-VDPortgroup -VDSwitch <VD Switch name> -Name <Port group name> | select *
VD Port
To get all VD ports of a specific VD port group in a VDS:
Get-VDSwitch <VD Switch name> | Get-VDPortgroup <Port group name> | Get-VDPort
To get only active VD ports of a specific VD port group in a VDS:
Get-VDSwitch <VD Switch name> | Get-VDPortgroup <Port group name> | Get-VDPort -ActiveOnly
To get all details of a specific VD port in a VDS:
Get-VDPort -Key <Value> -VDSwitch <VD Switch name> | select *
VM connected to a VD port
To get the VM that is connected to a VD port:
(Get-VDPort -Key <Value> -VDSwitch <VD Switch name>).ExtensionData.Connectee
Get-VM -Id <VM Id>
Find VM using NIC MAC
Get-VM | where {$_.ExtensionData.Guest.Net.MacAddress -eq '<MAC Address>'}
Related posts
Thursday, December 19, 2019
Working with iDRAC9 Redfish API using PowerShell - Part 4
In this article, I will explain how to use iDRAC Redfish API to Power On and Graceful Shutdown a server using PowerShell. This is applicable to all Dell EMC servers having iDRAC. It can be a general-purpose PowerEdge rack server, Ready Node, Appliance, etc. I've tested on iDRAC9.
Note: In a production environment please make sure to follow proper shutdown or reboot procedure (if any) before performing any system reset actions on the server.
[CmdletBinding()]
param(
[Parameter(Mandatory)]
[String]$idrac_ip,
[Parameter(Mandatory)]
[ValidateSet('On', 'GracefulShutdown')]
[String]$ResetType
)
#To fix the connection issues to iDRAC REST API
add-type @"
using System.Net;
using System.Security.Cryptography.X509Certificates;
public class TrustAllCertsPolicy : ICertificatePolicy {
public bool CheckValidationResult(
ServicePoint srvPoint, X509Certificate certificate,
WebRequest request, int certificateProblem) {
return true;
}
}
"@
[System.Net.ServicePointManager]::CertificatePolicy = New-Object TrustAllCertsPolicy
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12 -bor [System.Net.SecurityProtocolType]::Tls11
#Get iDRAC creds
$Credentials = Get-Credential -Message "Enter iDRAC Creds"
$JsonBody = @{"ResetType" = $ResetType} | ConvertTo-Json
$u1 = "https://$($idrac_ip)/redfish/v1/Systems/System.Embedded.1/Actions/ComputerSystem.Reset"
Invoke-RestMethod -Uri $u1 -Credential $Credentials -Method Post -UseBasicParsing -ContentType 'application/json' -Body $JsonBody -Headers @{"Accept"="application/json"} -Verbose
Hope it was useful. Cheers!
Related posts
Working with iDRAC9 Redfish API using PowerShell - Part 1
Working with iDRAC9 Redfish API using PowerShell - Part 2
Working with iDRAC9 Redfish API using PowerShell - Part 3
References
iDRAC9 Redfish API guide
Monday, December 16, 2019
vRealize Automation 8 - Part1 - Installation
Background
- vRealize Automation (vRA) has two consumption models now:
- vRA on-prem
- vRA cloud (SAAS offering)
- From vRA 8.0 onwards the same code being used in vRA cloud is taken and packaged together for on-prem use.
- vRA 8.0 is focused on greenfield environments (new vRA deployments).
- If you want to upgrade from vRA 7.x VMware recommends waiting until vRA 8.x as it will have a migration tool that helps the upgrade process.
Before starting the installation process, I strongly recommend you to go through the below documentation links.
Installation
Download the installer ISO file and mount it. If you are running it from a Windows machine, browse to win32 folder and run installer.exe file. During the installation process first LCM VM will be deployed and it is responsible for deploying IDM and vRA VMs.
Note: Make sure DNS entries for LCM, IDM, and vRA are present and resolvable.
Click install.
Click next.
Accept EULA.
Provide vCenter details.
Accept.
Select a datacenter location.
Select a compute cluster.
Select a datastore.
Provide network configuration details.
Set password.
Provide LCM config details.
Provide IDM config details.
Provide vRA config details.
Review summary.
Click submit to start the installation process.
Once the installation is successful you will get the following URLs to navigate to vRSLCM and vRA UI.
Login to LCM.
Login to vRA.
Provide creds.
There you go! vRA 8.0 is successfully deployed.
Hope it was useful. Cheers!
References
Tuesday, December 3, 2019
Working with iDRAC9 Redfish API using PowerShell - Part 3
In this article, I will explain how to access the iDRAC Redfish API using session-based authentication.
[CmdletBinding()]
param(
[Parameter(Mandatory)]
[String]$idrac_ip
)
#To fix the connection issues to iDRAC REST API
add-type @"
using System.Net;
using System.Security.Cryptography.X509Certificates;
public class TrustAllCertsPolicy : ICertificatePolicy {
public bool CheckValidationResult(
ServicePoint srvPoint, X509Certificate certificate,
WebRequest request, int certificateProblem) {
return true;
}
}
"@
[System.Net.ServicePointManager]::CertificatePolicy = New-Object TrustAllCertsPolicy
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12 -bor [System.Net.SecurityProtocolType]::Tls11
#Get iDRAC creds
$Credentials = Get-Credential -Message "Enter iDRAC Creds"
$creds_json = '{"UserName": "$($Credentials.UserName)", "Password": "$($Credentials.GetNetworkCredential().Password)"}'
$creds_json = $ExecutionContext.InvokeCommand.ExpandString($creds_json)
#Using Invoke-WebRequest
try {
$result1 = Invoke-WebRequest -Uri "https://$($idrac_ip)/redfish/v1/Sessions " -Method POST -ContentType 'application/json' -Headers @{"Accept"="application/json"} -Body $creds_json -Verbose
}
catch {
Write-Error -Message "Failed to invoke the API! Incorrect creds!"
$PSCmdlet.ThrowTerminatingError($PSItem)
}
$auth_head = @{
"X-Auth-Token" = $result1.Headers.'X-Auth-Token'
"accept" = "application/json" }
#URI to get basic system info
$u1 = "https://$($idrac_ip)/redfish/v1/Systems/System.Embedded.1"
#Using Invoke-RestMethod
try {
$output = Invoke-RestMethod -Uri $u1 -Method Get -Headers $auth_head -ContentType 'application/json' -Verbose
}
catch {
Write-Error -Message "Failed to invoke the API! Incorrect creds!"
$PSCmdlet.ThrowTerminatingError($PSItem)
}
Write-Output "`nBasic System Info:" $output
Related posts
Working with iDRAC9 Redfish API using PowerShell - Part 1
Working with iDRAC9 Redfish API using PowerShell - Part 2
References
iDRAC9 Redfish API guide
Sunday, November 10, 2019
VMware PowerCLI 101 Blog Series
Consolidating my blogs on VMware PowerCLI.
Hope it was useful. Cheers!
Related posts
Friday, November 1, 2019
vRealize Operations Manager 7.5 - Part9 - Dashboard sharing
The ability to share dashboards using URLs without login requirements is a very useful feature starting from vROps 7.0.
- Select the dashboard that you want to share and click on the share icon as marked in the screenshot below.
- Click on "COPY LINK" and provide it to whoever necessary. You can also set link expiry to 1 Day, 1 Week, 1 Month, 3 Months, or Never Expire as per your requirement.
- To unshare a link, enter the link that you want to unshare as shown below and click "UNSHARE".
Hope it was useful. Cheers!
Related posts
vRealize Operations Manager 7.5 - Part8 - Super Metrics
vRealize Operations Manager 7.5 - Part7 - vSAN monitoring and troubleshooting
vRealize Operations Manager 7.5 - Part6 - Adding new symptoms and alert definitions
vRealize Operations Manager 7.5 - Part5 - Alerting
vRealize Operations Manager 7.5 - Part4 - High availability
Subscribe to:
Posts (Atom)