Tuesday 10 September 2013

VMware PowerCli: How to generate CSV file with the Name ,IpAddress , Datastore for your entire Vcenter with PowerShell and Windows Task Scheduler


 Today I'm going to show you how to do a litle script with VMWARE PowerCli.
The script Below is written in PowerShell and will show you are to generate a report about Virtual Machines , IPaddress and Datastore space from your VCenter Server.

1)First you must install PowerCli (You must have a VMware account):




2) .You must desable the restriction in PowerCli Shell to execute scripts:
The value for Get-ExecutionPolicy is RemoteSigned. This value must be set to Unrestricted

Set-ExecutionPolicy Unrestricted

3)Create a "ScriptVM" file with ".ps1" extension, and add the following lines:

# ===========================================================================
# NAME: ScriptVM.ps1
# AUTHOR:  Lucky Chris ATTOH-TOURE
# DATE  : 2013.09.13
# COMMENT: Get VMs, DataStore, IP Address and Space
# REQUIRES: VMware PowerCLI
# ===========================================================================
#Prendre toutes les Vms 
$vm = Get-VM * 
#Créer un tableau d'objets 
$objects = @() 
#Pour Chaque VM donner le nom, le DataStore l'espace occupé et l'espace libre
 foreach ($vm.Name in $vm) { 
  $dataS = Get-DataStore -VM $vm.Name
 foreach ($dataS.Name in $dataS) {
      $vm.Name | Select IPAddress $row = New-Object PSObject -Property @{"NomVM"=$vm.Name; "IPAddress"=$vm.Guest.IPAddress[0]; "Datastore"=$dataS.Name; "FreeSpaceGB"=$dataS.FreeSpaceGB; "CapacityGB"=$dataS.CapacityGB} 
      $objects += $row 
  } #Compte le nombre de VMs $count = $count+1 
} #Affichage du nombre de machine virtuelle 
Write-Host "Nous avons au total: " $count " Machines Virtuelles" 
Write-Host "" 
#Affichage du tableau Report VM 
$objects | select-Object NomVM,IPAddress,Datastore,FreeSpaceGB,CapacityGB |Export-Csv "C:\test\ReportVsphere.txt" -NoTypeInformation -UseCulture

4)Now we are going to put this script into windows Task scheduler

Launch Windows Task Scheduler :

In Action tab, give the path of Powershell cli:
C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe (For me on Windows 7)

In argument field put:
"& 'C:\test\launchReport.ps1'"

 Or if you want th whole syntax:

C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe "& 'C:\test\launchReport.ps1'"

The  launchReport.ps1 file will contain:
.\ScriptVM.ps1

This will generate an CSV file called "ReportVsphere.txt".

Output:

"NomVM";"IPAddress";"Datastore";"FreeSpaceGB";"CapacityGB"
"vCenter";"10.2.25.163";"PROD-VM-1";"309,2875";"1483,75"
"w2k8-Template";;"TEST-VM-1";"177,275";"2047,75"
"VM-PC-01";;"TEST-VM-1";"177,275";"2047,75" 

5)Now you can open this file with Excel and do what you want to finalize your Report!

Monday 9 September 2013

Scripter en PowerShell avec VMware POWER Cli 5.x

Bonjour , en tant qu'admin , on veut toujours automatiser certaines taches récurrentes. (on es trop paresseux). VMware à la possiblité grace a POWER Cli de scripté via PowerShell . Les commandes ci-dessous peuvent être donc mis dans une tache planifié pour votre plus grand bonheur:
Avant on doit activer l'execution des script powershell qui est désactivé par défaut sur Windows 7 et 2008 server:


Cliquez dessus pour agrandir.
Validez la valeur par défaut "O"

Démarrer une VM:

PS C:\> Start-VM -VM TESTPXE  -Confirm -RunAsync

Confirmer
Êtes-vous sûr de vouloir effectuer cette action ?
Opération « Start-VM » en cours sur la cible « VM 'TESTPXE' ».
[O] Oui  [T] Oui pour tout  [N] Non  [U] Non pour tout  [S] Suspendre  [?] Aide (la valeur par défaut est « O ») :

Name                           State      % Complete Start Time   Finish Time
----                           -----      ---------- ----------   -----------
                               Running             0 03:13:22

*********************
Stopper une VM:

PS C:\> Stop-VM -VM TESTPXE -Confirm -RunAsync

Confirmer
Êtes-vous sûr de vouloir effectuer cette action ?
Opération « Stop-VM » en cours sur la cible « VM 'TESTPXE' ».
[O] Oui  [T] Oui pour tout  [N] Non  [U] Non pour tout  [S] Suspendre  [?] Aide (la valeur par défaut est « O ») :

Name                           State      % Complete Start Time   Finish Time
----                           -----      ---------- ----------   -----------
PowerOffVM_Task                Running            30 03:15:22


***********************
Lister des VMs dont le nom commence par "svr" :

PS C:\> Get-VM -name svr-*
_____________________________
Lister des VMs dont le nom commence par "svr" et les mettre dans un fichier texte.

PS C:\> Get-VM -name svr-* | Select-Object Name,NumCPU,MemoryMB,PowerState,Host | Export-CSV c:\test\VmListVCENTER.txt -NoTypeInformation

**************************
Prendre un snapshot d'une machine:

PS C:\> Get-Snapshot -VM TESTPXE -Name 'Avant l'application de la mise a jour n2'


***************************
Créer une machine virtuelle a partir d'un template et appliquer des spécifications:

$myResourcePool = Get-ResourcePool -Name MyResourcePool1
$myTemplate = Get-Template -Name WindowsTemplate
$mySpecification = Get-OSCustomizationSpec -Name WindowsSpec
New-VM -Name MyVM2 -Template $myTemplate -ResourcePool $myResourcePool -OSCustomizationSpec $mySpecification

****************************
Cloner une machine virtuelle a partir d'une autre:

$myResourcePool = Get-ResourcePool -Name MyResourcePool1
$mySpecification = Get-OSCustomizationSpec -Name WindowsSpec
New-VM -VM MyVM1 -Name MyVM2 -OSCustomizationSpec $mySpecification -ResourcePool $myResourcePool

PS C:\> New-VM -VM TESTPXE -Name TESTPXECLONE1 -VMHost ESXiHOTE

Name                 PowerState Num CPUs MemoryGB
----                 ---------- -------- --------
TESTPXECLONE1           PoweredOff 2        4,000


PS C:\> New-VM -VM TESTPXE -Name TESTCLONE1 -VMHost svr-vm-02.company.com

Name                 PowerState Num CPUs MemoryGB
----                 ---------- -------- --------
TESTCLONE1           PoweredOff 2        4,000

Supprimer une machine virtuelle:
PS C:\> Remove-VM -VM TESTCLONE1

Perform operation?
Performing operation 'Removing VM from inventory.' on VM 'TESTCLONE1'
[O] Oui  [T] Oui pour tout  [N] Non  [U] Non pour tout  [S] Suspendre  [?] Aide (la valeur par défaut est « O ») :
PS C:\>



Un lien très interressant:
https://www.simple-talk.com/sysadmin/virtualization/10-steps-to-kick-start-your-vmware-automation-with-powercli/

Merci et bonne journée!

Configurer SNMP TRAP sur AIX 5.x



Activer la communauté public dans le fichier snmpd.conf dans « /etc/ ». Ci-dessous le fichier snmpd.conf. Ajouter la ligne en rouge ou décommenter là :

#############################################################################
#####                                                                                                                                                 #####
#############################################################################
logging                  file=/usr/tmp/snmpd.log   enabled
logging                  size=100000                                        level=0
community        public
#community       private 127.0.0.1 255.255.255.255 readWrite
#community       system  127.0.0.1 255.255.255.255 readWrite 1.17.2
view            1.17.2          system enterprises view
trap                        public                     127.0.0.1              1.2.3       fe            # loopback
#snmpd                 maxpacket=1024 querytimeout=120 smuxtimeout=60
smux      1.3.6.1.4.1.2.3.1.2.1.2        gated_password  # gated
smux                      1.3.6.1.4.1.2.3.1.2.2.1.1.2 dpid_password   #dpid
snmpd smuxtimeout=200 #muxatmd
smux 1.3.6.1.4.1.2.3.1.2.3.1.1 muxatmd_password #muxatmd


Ensuite modifier /etc/services pour assigner les port 161 et 162 aux services snmp :

snmp                    161/tcp         # SNMP
snmp                    161/udp         # SNMP
snmptrap                162/tcp         # SNMPTRAP
snmptrap                162/udp         # SNMPTRAP


La dernière étape est le démarrage des services SNMP
Démarrage MIB SNMP :
stopsrc -s hostmibd
startsrc -s hostmibd -a "-c public"


Si le snmpd est déjà démarré :
refresh -s snmpd


Sinon :
stopsrc -s snmpd
0513-044 The snmpd Subsystem was requested to stop.
[root@]:/# stopsrc -s snmpd
0513-004 The Subsystem or Group, snmpd, is currently inoperative.
[root@]:/# startsrc -s snmpd
0513-059 The snmpd Subsystem has been started. Subsystem PID is 8004.

Thursday 5 September 2013

LFTP - Client FTPS sur Linux / Windows

Comment se connecter sur un serveur FTPS a partir d'un client Linux /Windows. C'est simple!
Sur Linux vous avez la commande "lftp" si elle n'est pas installée, faites:

prompt@root# yum install lftp  (A condition d'avoir vos repo paramétrés).

Ou téléchargez le rpm (package) selon votre architecture x86 ou x64 .

prompt@root# rpm -ivh <nom du package  lftp>

Utilisation en ligne de commande:

>lftp    -u    user,motdepasse       adresseip

exemple: > lftp     -u     toto,abc123       192.167.10.20
lftp toto@192.167.10.20>

On peut faire un "dir" pour lister le répertoire distant courant si c'est un serveur Windows ou "ls" si c'est Linux.
Pour lire le répertoire source uil faut juste mettre un "!" avant le "dir" ou le "ls" : !ls ou !dir.
Si vous voulez changer de répertoire utiliser la commande "cd" classique. 

Si on veut uploader un fichier on utilise "put"  ou "mput" pour uploader en masse. Pour downloader c'est "get" ou  "mget".

Tout ce la peut se mettre en crontab dans un script ftps.sh:

vi ftps.sh et insérer le contenu suivant:

#!/bin/bash
cd /CDRs
lftp <<EOF
set ftp:ssl-allow yes
set ftp:passive-mode true
set ftp:list-options -a
open    -u     toto,abc123    
192.167.10.20

cd  BACKUP
mput *
(commande pour uploader tes fichiers en masse vers le serveur en question )


Je vous direz comment faire un serveur FTPS sur windows et Linux dans un tut prochain

Et voila !

HOWTO IMPORT OVA (from VMware) to PROXMOX 5.x

  HOWTO IMPORT OVA (from VMware) to PROXMOX 5.x         Hi All may be someone has faced to import an OVA (created with VMware) to PROX...