Posts

Showing posts with the label PowerCli for Admins

Running CLI Commands in ESXi using plink software

Image
Get-esxcli will help us to run the CLI commands over the host directly but to extend it we cannot run certain commands directly over the host, In such case, we can use the below script to run directly on the host and achieve our goals. One shot with the script to achieve multiple targets My target was given to check the status of smartd services in each host and disable it, So I have put the commands on the variable $cmd and $cmd2 and executing it in all the machines,  which has been feed in the variable $machines , command get executed in all the hosts fed in the variable $machines . Script :  $user = '' $pswd = '' $cmd = 'etc/init.d/smartd status' $cmd2 = 'chkconfig smartd off' $machines = Get-Content "" foreach ( $MACHINE in $machines ) { Get-VMHost -Name $MACHINE | % {     $ssh = Get-VMHostService -VMHost $_ | where { $_ . Key -eq 'TSM-SSH' }     if ( ! $ssh . Running)

Fetch the List of RDMs Attached in the machine using Powercli

Image
I used to maintain a powercli toolkit to ensure all the redundant tasks which ever to be performed can be automated in the proper way without affecting the running environment. I am sharing a script which comes in handy when you need to identify the list of RDMs attached to the virtual machines in the cluster Get-Cluster | Get-VM | Get-HardDisk -DiskType "RawPhysical","RawVirtual" | Select Parent,Name,DiskType,ScsiCanonicalName,DeviceName | Export-csv -notypeinformation -path "c:\RDMattachedmachine" => Indicates that you have to put the cluster name in the space and execute the command. This command has been tested under vcenter 5.5 and 6.0.  Run with care in the production environment and happy scripting. Kindly put your comments and queries below.

Auto creation and deletion of Snapshots in Vsphere Environment using Powercli

Image
Today we are gonna develop a script that will automatically delete multiple snapshots that has been taken in VMs running in the Vsphere environment. We use powercli to create the script and run over the vcenter where the VMs are hosted Before we go ahead, I would like to share you a small brief on what is powercli, powercli is a command-line interface (CLI) tool for automating vSphere and vCloud management. VMware vSphere PowerCLI debuted as the VMware Infrastructure Toolkit, also called the VI Toolkit. We have created two machine named test-vigneshbabu, test1-vigneshbabu as shown below: Now we are gonna trigger a script that will take the snapshot of these machines as “before patching” as shown below, You can customise the name of the snapshots according to your standards. Code : $servers = Get-Content "c:\vm-serverslist.txt" foreach ( $i in $servers ) {  New-Snapshot -VM $i -Name before_pathing } Note: path of the get-content is customisable and it’s the file

Changing the path policy of the SCSI lun device using Powercli in Vmware Vsphere Environment

Image
Today my motto is to change the path policy of the scsi lun from Fixed to round robin. It’s always a pain to change the path policy of the scsi lun device, it takes hours of time to change the path manually in case if we have the large environments of say 2000 ESXi and with more than 400 Devices connected with the Esxi. so we used some Powercli and create a loop to perform the redundant task well in crisp words we tried to automate this task which could save hours of manual works Code: $server = Get-content "C:\hostfile.txt" foreach ($i in $server) { Get-ScsiLun -VmHost $i -CanonicalName "naa.6006*" | where {$_.MultipathPolicy -ne "RoundRobin"} | Set-ScsiLun -MultipathPolicy RoundRobin } Here in the above code I am calling the list of ESXi Host in the file named as hostfile.txt and passing it to the variable $server and this will create an array of characters over the variable $server , Each character represents Esxi hosts on devops