Actualización de firmware en switch HP ProCurve

En nuestra conexión con el switch comprobamos la IP si estamos por consola, la versión que actual y las que están almacenadas:

show ip
show version
show flash

Necesitaremos un servidor TFTP con el que realizar la descarga de la imagen, el más sencillo, con más de 20 años TFTPD, debemos asegurarnos que desde nuestro equipo alcanzamos la IP del servidor TFTP, comprobar que el firewall no bloquea la conexión igualmente. Dejamos el fichero en la directorio del servidor TFTP, en este caso "PUBLIC" dentro del directorio del programa en su versión portable:

Volvemos al switch y ejecutamos la copia del fichero desde la IP de nuestro servidor (en este ejemplo 10.80.0.200) a la imagen primary / secondary que queramos

copy tftp flash 10.80.0.200 R_11_122.swi primary

Si se muestra un error de tipo 0000K Transport error, el fichero no existe o no esta accesible, debemos revisar los pasos previos. Si todo ha sido correcto se valida y escribe en la memoria del equipo:

Comprobamos las versiones almacenadas y veremos la nueva, solo los queda reiniciar:

show flash
reload



 


Instalación básica de Centreon

Utilizaremos una máquina virtual con 2 GB de RAM y 2 vCores para menos de 100 host a monitorizar con la versión gratuita. Descargamos la ISO desde la web oficial, la versión actual es 20.04, una vez introducida la imagen realizamos la instalación de la base CentOS 7 (mínima) con el asistente y establecemos la clave del usuario root

Antes de conectar via web con el asistente de configuración, conectamos por consola, actualizamos y reiniciamos:

yum update
reboot

Iniciamos la instalación sin modificar los valores propuestos por defecto: http://[IP_SERVIDOR]/centreon y seguimos el asistente con los valores predeterminados. En la clave de root para mysql dejamos en blanco si utilizamos localhost

Una vez finalizado el asistente, iniciamos sesión y exportamos la configuración inicial en blanco:


Volvemos a la consola y nos aseguramos que los servicios se inicien con el sistema:

 

systemctl enable rh-php72-php-fpm httpd24-httpd mariadb centreon cbd centengine gorgoned snmptrapd centreontrapd snmpd --now

systemctl restart cbd centengine
systemctl restart gorgoned
systemctl start snmptrapd centreontrapd
systemctl start snmpd

Para monitorizar menos de 100 host y acceder a todas las posibilidades de la edición IT, debes registrar la instalación y solicitar el token. Recibirás un email con un código que debes añadir en: Administration > Extensions > Manager > Add token

Con la activación ya tendrás acceso a los Configuration > Plugin Packs que facilitan la monitorización y gestión mediante Centreon.

 

Directorio activo hybrido en Azure: ImmutableID / sourceAnchor

Ambos nombres son equivalentes, describen un atributo que no cambia durante la vida de un objecto. Se trata de identificar de forma única en un entorno local y en Azure AD.

Por defecto se calcula codificando en Base 64 la propiedad objectGUID del servidor local, por ejemplo:

$Usuario = Get-ADuser nombreDeUsuario -Properties * -server localhost
$ImmutableID = [system.convert]::ToBase64String(([GUID]($Usuario.ObjectGUID)).tobytearray())

Realmente no debería cambiarse, pero en ocasiones nos encontramos en la necesidad de hacerlo, bien por una migración de directorio, eliminación de usuarios, replicación con errores... Si en lugar de utilizar el objectGUID utilizariamos un atributo personalizado no tendríamos este problema pero conllevaría la gestión y administración del mismo, si dentro de la empresa cada uno tiene un identificador único personal podría utilizarse para calcular el sourceAnchor.

Esta propiedad se establece durante la instalación inicial, solo si se desinstala correctamente se puede volver a establecer con un valor personalizado, desde la versión 1.1.524.0 se facilita el atributo ms-DS-ConsistencyGuidcomo atributo de los usuarios a utilizar como sourceAnchor.

Podemos visualizar la propiedad actual desde PowerShell:

Import-Module AzureAD
$O365Cred = Get-Credential
$O365Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell -Credential $O365Cred -Authentication Basic -AllowRedirection
Import-PSSession $O365Session
Connect-AzureAD -Credential $O365Cred
Get-AzureADUser -ObjectId nombreUsuario@midominio.com | Select objectID, UserPrincipalName, ImmutableID

Si bien, en la documentación aparece, la posibilidad de establecer el valor en nulo para desvincular las cuentas creadas localmente de la nube mediante powershell:

Set-AzureADUser -ObjectId nombreUsuario@midominio.com -ImmutableID $null

No genera ningún resultado ni modificación del objeto, por lo menos a fecha de hoy.

Como alternativa, podemos crear un usuario temporal en nuestro directorio, sincronizar e intercambiar sourceAnchor, asignando otro incorrecto al usuario a eliminar posteriormente.

 

 

Activar escritorio remoto mediante Powershell

Por defecto la conexión por escritorio remoto aparece deshabilitada en los equipos con Windows Pro, en una red de dominio es posible establecer mediante políticas de grupo los permisos necesarios:

- Configuración de Equipo \ Directivas \ Plantillas Administrativas
--- Componentes de Windows \ Servicios de escritorio remoto \ Host de sesión de Escritorio remoto \ Conexiones \ Permitir que los usuarios se conecten de forma remota mediante Servicios de Escritorio Remoto

--- Red \ Conexiones de red \ Firewall de Windows \ Perfil de dominio \ Firewall de Windows: permitir excepciones de Escritorio remoto entrantes

Igualmente podemos echar mano de un Script para powershell escrito por Sitaram Pamarthi en 2013, que mediante WMI nos facilita acciones puntuales:

[cmdletbinding()]
param(
	[parameter(ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true)]
	[string[]]$ComputerName = $env:computername,
	[ValidateScript({Test-Path $_})]
	[string]$OutFolder = "c:\"
)

begin {
$SuccessComps = Join-Path $OutFolder "Successcomps.txt"
$FailedComps = Join-Path $OutFolder "FailedComps.txt"
}

process {
	foreach($Computer in $ComputerName) {

		try {
			$RDP = Get-WmiObject -Class Win32_TerminalServiceSetting `
								-Namespace root\CIMV2\TerminalServices `
								-Computer $Computer `
								-Authentication 6 `
								-ErrorAction Stop
								
		} catch {
			Write-Host "$Computer : WMIQueryFailed"
			"$Computer : WMIQueryFailed" | Out-File -FilePath $FailedComps -Append
			continue
		}
		
		if($RDP.AllowTSConnections -eq 1) {
			Write-Host "$Computer : RDP Already Enabled"
			"$Computer : RDP Already Enabled" | Out-File -FilePath $SuccessComps -Append
			continue
		} else {
			try {
				$result = $RDP.SetAllowTsConnections(1,1)
				if($result.ReturnValue -eq 0) {
					Write-Host "$Computer : Enabled RDP Successfully"
					"$Computer : RDP Enabled Successfully" | Out-File -FilePath $SuccessComps -Append
				} else {
					Write-Host "$Computer : Failed to enabled RDP"
					"$Computer : Failed to enable RDP" | Out-File -FilePath $FailedComps -Append

				}
			
			} catch {
				Write-Host "$computer : Failed to enabled RDP"
				"$Computer : Failed to enable RDP" | Out-File -FilePath $FailedComps -Append
			}
		}
	}

}

end {}

Su utilización para un equipo concreto:

.\Enable-RDPAccess.ps1 -ComputerName <computer name>

 Si obtenemos errores al ejectuarlo, debemos comprobar que tenemos acceso mediante WMI o activarlo mediante GPO:

- Configuración del equipo \ Directivas \ Configuración de Windows \ Configuración de seguridad \ Firewall de Windows con seguridad avanzada \ Reglas de Entrada

Error durante la migración a Windows 10: No se pudo actualizar la partición reservada del sistema

Microsoft ha simplificado, cada vez más, las actualizaciones y migraciones a Windows 10 desde el año 2015, pero en ocasiones es necesario acciones específicas. En este caso el error que nos aparece al utilizar la herramienta de actualización es el siguiente: "No se pudo actualizar la partición reservada del sistema"

En equipos antiguos la partición reservada para el sistema es de escasos 100 MB y los requisitos habituales para Windows 10 en un equipo nuevo crean particiones de 500 MB. Existe una solución temporal que nos permite liberar espacio de la partición original, sin tener que mover particiones completas, se trata de liberar espacio eliminando los recursos de idiomas que no se utilizan. Necesitaremos 15 MB libres.

Debemos seguir el procedimiento muy bien descrito en el artículo de Microsoft, según el tipo de partición MBR o GPT que tengamos en nuestro sistema, lograremos acceder y eliminar algunos recursos no críticos de la partición. Si debemos ejecutar en el procedimiento los comandos del tipo "takeown" en las instrucciones se especifica:

takeown /d y /r /f .

Donde debemos tener cuidado de incorporar el espacio y el punto después de la 'f' además si nuestros sistema operativo se encuentra en español debemos cambiar la 'y' de YES por la 's' de SI

takeown /d s /r /f .

Siguiendo el procedimiento, pasaremos a tener entorno al 50% más espacio libre que nos permitirá continuar la instalación.

 

NOTA: Para otros errores puedes utilizar la aplicacion SetupDiag.exe para analizar los registros de instalación.