domenica 4 novembre 2018
giovedì 18 ottobre 2018
PowerCLI 11.0.0 Updates - Automatic script to remove unnecessary modules
L'11 Ottobre scorso è stata rilasciata la nuova versione PowerCLI 11.0.0 con un impressionante numero di novità ed aggiornamenti:
- Added a new Security module
- Added new cmdlets for Host Profiles
- Added a new cmdlet to interact with NSX-T in VMware Cloud on AWS
- Support for vSphere 6.7 Update 1
- Support for NSX-T 2.3
- Support for Horizon View 7.6
- Support for vCloud Director 9.5
- Multiplatform support for the Cloud module
- Updated the Get-ErrorReport cmdlet
- Removed the PCloud module
- Removed the HA module
L'update della PowerCLI di per se è semplice, come indicato anche in un mio precedente post è sufficiente lanciare il comando 'Update-Module -Name VMware.PowerCLI' ...
... e come per le precedenti versioni, se si utilizza Update-Module per aggiornare i moduli, le versioni esistenti non vengono rimosse (vedi Update a PowerCLI Module). Come vediamo dall'immagine sotto ci sono righe che contengono gli stessi moduli ma con diverse versioni.Esattamente come indicato nel precedente post procedo con la rimozione dei moduli non più necessari; con la differenza che questa volta, ho realizzato un piccolo script in PowerShell per aiutarmi con l'identificazione dei moduli duplicati e la rimozione di quelli con versione inferiore. Lo script di seguito è stato testato su Mac ....
#!/usr/local/bin/pwsh
########################################################################################
# File : PurgeDuplicatePowerCliModules.ps1
# Author: Lorenzo Moglie
# Date : 17.10.2018
# Version : 1.0.0.0
# Disclaimer : The script is provided as is, use at your own risk.
# Description : This script list the VMware Modules Available into a TXT file. Read
# the txt file, line by line and comparing the duplicate modules
# uninstalling the older version
#######################################################################################
Get-Module -Name VMware.* -ListAvailable | select Name,Version > ModuleList.txt
$NameStr = ""
$VersionApp = ""
Get-Content ./ModuleList.txt | where {$_ -ne ""} | ForEach-Object {
$line=[regex]::Replace($_, "\s+", " ")
$NameModule,$VersionModule = $line.split(' ')
if($NameStr -match $NameModule) {
echo "Removing module: $NameModule --> Version One:$VersionModule --- Version Two:$VersionApp "
if ([System.Version]::Parse($VersionModule) -lt [System.Version]::Parse($VersionApp)){
echo "Removing version -> $VersionModule"
Invoke-Expression "Uninstall-Module -Name $NameModule -RequiredVersion $VersionModule -force"
} else {
echo "Removing version -> $VersionApp"
Invoke-Expression "Uninstall-Module -Name $NameModule -RequiredVersion $VersionApp -force"
}
echo ""
}
$NameStr = $NameModule
if (($VersionModule -match "Version") -Or ($VersionModule -match "-------")) {
# Do Nothing
} else {
$VersionApp = $VersionModule
}
}
rm ./ModuleList.txt
Prima di lanciare il file "PurgeDuplicatePowerCliModules.ps1" modifichiamo i permessi in questo modo ...
LIF:Desktop lorenzo$ chmod +x PurgeDuplicatePowerCliModule.ps1... lanciamo lo script .....
LIF:Desktop lorenzo$ ./PurgeDuplicatePowerCliModule.ps1
In fine. Verifichiamo che i moduli duplicati siano stati correttamente rimossi ....
LIF:Desktop lorenzo$ pwsh PowerShell v6.0.2 Copyright (c) Microsoft Corporation. All rights reserved. https://aka.ms/pscore6-docs Type 'help' to get help. PS /Users/lorenzo/Desktop> Get-Module -ListAvailable VMware.* | Select Version,Name
That's it.
L'output dello script è stato migliorato in questo post "PowerCLI 11.4.0 Updates - Automatic script to remove unnecessary modules improved"
sabato 13 ottobre 2018
Remapping Keys in macOS
- Apriamo un "Terminal"
- Procediamo con il verificare la lista dei device riconosciuti dal sistema ..digitando hidutil list Come possiamo vedere, la tastiera esterna è identificata dalla seguente stringa
- Prendiamo nota del ProductID (nel mio caso "0x221") e del VendorID (nel mio caso "0x5ac")
- Prendiamo nota dal link della Technote Apple dello "Usage ID (hex)" che corrisponde alla "," del tastierino alla riga "Keypad . and Delete" che corrisponde a "0x63".
- Prendiamo nota anche del carattere che vogliamo impostare al posto del tasto identificato alla riga "Keyboard . and ">"" con il UsageID che corrisponde a "0x37".
-
Non ci resta che lanciare la seguente stringa da terminale ... e verificarne il funzionamento.
LIF:~ Lorenzo$ hidutil property --matching '{"ProductID":0x221,"VendorID":0x5ac}' --set '{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000063,"HIDKeyboardModifierMappingDst":0x700000037}]}'
Funziona!!!!
-
Se vogliamo ritornare alle impostazioni originali lanciare il comando:
LIF:~ Lorenzo$ hidutil property --set '{"UserKeyMapping":[]}' -
Per verificare le impostazioni lanciare il comando:
LIF:~ Lorenzo$ hidutil property --get "UserKeyMapping"
giovedì 4 ottobre 2018
New Advanced Deploy vSphere 6.5 Exam - 3V0-21.18
lunedì 24 settembre 2018
Corrispondenze tra versioni VxRail e VMware Build Numbers
venerdì 21 settembre 2018
VMware vRealize Operations Manager - Data Retriever is not inizialized yet. Please wait...
Non si ha la possibilità di inserire le proprie credenziali in quanto la pagina è in stallo con il messaggio "Data Retriever is not inizialized yet. Please wait..."
Soluzione
Prima di effettuare quando indicato di seguito spegnere la VM ed effettuare una Snapshot in modo da avere un punto di ripristino più o meno corretto.
- Loggarsi all'interno della Virtual appliance tramite SSH o direttamente dalla console VMware (come è stato per il mio caso)... ed iniziare ad analizzare l'occupazione disco con il comando "df -h".
Come possibile vedere dall'immagine sopra, non c'è più spazio dedicato ai log.
- Accediamo alla cartella "/storage/log" ed analizziamo lo spazio nelle varie cartelle ...
- Analizziamo inizialmente la cartella "/storage/log/var" alla ricerca di file da rimuovere. Come possiamo vedere dall'immagine sotto:
- "messages" occupa 2.1GB
- "auth.log" occupa 2.6GB
- Stoppiamo il servizio syslog ("/etc/init.d/syslog stop") e procediamo ad azzerare i due file nel con il seguente comando:
- echo > messages
- echo > auth.log
- Spostiamoci ora, ad analizzare la cartella "/storage/log/vcops/log".
Da una prima analisi abbiamo notato che la cartella è popolata da moltissimi file (nello specifico 8858) di cui molti sono di dimensioni 0.
- Dopo una veloce ricerca su google.... abbiamo trovato la KB corretta che può aiutarci a ripulire correttamente la cartella "/storage/log/vcops/log" al seguente link "Safely cleaning up log files in vRealize Operations 6.x (2145578)"
- Seguita alla lettera la KB VMware. Eseguiamo un reboot dell'intera appliance ..... et voilà
siamo nuovamente in grado di poter inserire le credenziali per il login.
venerdì 14 settembre 2018
vRealize Operations Manager Appliance - lost local root password
Il problema è che il cliente non ricorda più la password di root dell'appliance.
Soluzione
Niente panico!! :-) procediamo con il reset come indicato nella KB2001476.
- Per Prima cosa procediamo con lo spegnere la VM
- Con la console aperta, ri-avviamo la virtual machine.
- Quando appare il GRUB loader menu, selezionare l'entry corrispondente al normale avvio di sistema nel mio caso "SUSE Linux Enterprise Server 11 SP3 for VMware - 3.0.101-0.47.52". Aggiungere alla riga di boot la stringa "init=/bin/sh" come da immagine sotto ed avviare normalmente
- Quando ci viene presentato il prompt "sh-3.2#" digitare "passwd root" digitare e confermare la nuova password inserita. Riavviare l'appliance con reboot.
- Riavviato il sistema è possibile loggarsi all'interno con le credenziali precedentemente impostate.























