Tareas administrativas

Hace ya algún tiempo que hice administración de servidores, recuerdo que en aquel momento no contaba con herramientas de monitoreo tipo Nagios o System Center Operations Manager que me ayudaran en tiempo real a detectar altos consumos de maquina, y tenia que a diario pasar revista a los servidores para determinar si tenían un comportamiento «Normal» o estaban de repente pasando por un mal momento. Para esto es posible utilizar desde la tradicional linea de comandos (cmd) el siguiente comando:

sysdm.cpl && eventvwr /c: && psinfo -d && services.msc && perfmon /rel && explorer /root, && dxdiag && perfmon /report && taskmgr && resmon

Esto nos abrirá las aplicaciones que el sistema operativo trae por defecto para determinar su comportamiento. herramientas como el historial de confiabilidad que nos muestra un timeline del estado de salud del equipo o el visor de eventos, para identificar si ha tenido errores en las ultimas horas, el snap-in de los servicios, para validar que los que son automáticos estén en ejecución, y el administrador de tareas o el resource monitor, para tratar de encontrar que se puede estar consumiendo los recursos del equipo.

Mi recomendación o truco en este post es que la mayoría de estas consultas se pueden realizar desde PowerShell, con un Get-Volume, puedes consultar el estado de ocupación de los volúmenes del dispositivo, un Get-Eventlog -LogName System -EntryType Error -Newest 10|Format-Table me traerá consigo una tabla con los últimos 10 errores de sistema operativo. Get-Process me puede permitir ver lo que tenemos en ejecución, similar al taskmanager, de modo que hay manera de consultar desde linea de comandos múltiples contextos, mas la posibilidad de aplicar todos estos comandos a múltiples servidores que se encuentren en nuestro dominio. Así que adopten PowerShell #Get-PowerShell

Probando el Windows Terminal

Como lo habia anunciado días atrás, Microsoft consiguió liberar una Terminal que unifica bajo el mismo entorno, PowerShell Core, Windows Linux Subsystem (wsl) y la linea de comandos D.O.S.

Encuentro atractivas sus transparencias, la posibilidad de tener varias tabs o pestañas y poder de cierta forma hacer mas amable el uso de la linea de comandos. Para instalarlo simplemente ingrese en el Windows Store, y busque Windows Terminal (Preview) ahora bien, luego de haber instalado esta terminal, decidí instalar también el PowerShell 7, y me encontré que queda como PowerShell Core.

Para realizar la configuración de esta terminal, en el menu desplegable (junto al signo de mas) hay una opción de configuración, donde nos lleva a modificar un archivo JSON, estos cambios se producen en tiempo real, y este archivo esta compuesto principalmente por tres secciones.

Encontramos los tipos de ventana que podemos iniciar o commandLine como, Powershell Core, PowerShell, WSL, o CMD, a estos podemos aplicarles unos esquemas para cambiar su apariencia, por ejemplo yo habilite la opción de transparencia cambiando el valor de «useAcrylic» : true

En esta sección es posible cambiar el tamaño y tipo de fuente, el AcrylicOpacity hace referencia al nivel de transparencia en términos de porcentaje, El ColorScheme hace referencia al tema aplicado y el atributo fontFace hace relacion al tipo de fuente asi como FontSize es el tamaño de esta.

Espero sinceramente que les guste esta herramienta, y puedan divertirse ejecutando Scripts en ella.

Deshabilitar la sincronizacion de AD hacia Office 365 por PowerShell

La gran mayoria de tutoriales nos ensenan a crear conectores, a adoptar nuevas tecnologias, pero a veces es necesario reconocer que lo que se enciende, a veces tambien se puede apagar. en esta ocasion vamos a deshabilitar la sincronizacion del active directory onpremise con Office 365 (Azure AD).

Vamos a la consola de PowerShell!!

Vamos a Deshabilitar la sincronizacion AD-Connect de mi escenario de Active Directory vs. Azure AD

PS>Get-ExecutionPolicy
Unrestricted
Si la politica de ejecucion no esta en modo Unrestricted, es necesario usar un Set-ExecutionPolicy Unrestricted para habilitarlo

Nos debemos conectar al tenant de Office 365 para realizar esta tarea, lo primero es verificar que tengamos el modulo instalado

PS>Get-InstalledModule -name MSOnline

Version Name Repository Description
——- —- ———- ———–
1.1.183.17 MSOnline PSGallery Microsoft Azure Active Directory Module for Windows PowerShell

Ahora bien, si no estuviera instalado, es necesario usar Find-Module MSOnline para encontrarlo, y luego Install-Module MSOnline para instalarlo en el PowerShell

Creemos entonces una variable que contenga las credenciales del tenant:
PS>$cred = Get-Credential -Credential fabian.campo@campohenriquezlab.onmicrosoft.com

Verifiquemos las credenciales almacenadas
PS>$cred

UserName Password
——– ——–
fabian.campo@campohenriquezlab.onmicrosoft.com System.Security.SecureString

Ahora conectemos nuestro powerShell con Office 365
PS>Connect-MsolService -Credential $cred

Verifiquemos la conexion usando un Get-MSOLAccountSKU
PS>Get-MSOLAccountSKU

AccountSkuId ActiveUnits WarningUnits ConsumedUnits
———— ———– ———— ————-
campohenriquezlab:DEVELOPERPACK 4 0 4

Este commandlet nos permite consultar el numero de licencias adquiridas y consumidas en el tenant
PS>Get-MsolCompanyInformation

DisplayName : CampoHenriquez
PreferredLanguage : en
Street :
City : Bogota
State : Cundinamarca
PostalCode :
Country :
CountryLetterCode : CO
TelephoneNumber : 3176821164
MarketingNotificationEmails : {}
TechnicalNotificationEmails : {fcampo@hotmail.com}
SelfServePasswordResetEnabled : True
UsersPermissionToCreateGroupsEnabled : True
UsersPermissionToCreateLOBAppsEnabled : True
UsersPermissionToReadOtherUsersEnabled : True
UsersPermissionToUserConsentToAppEnabled : True
DirectorySynchronizationEnabled : True
DirSyncServiceAccount : Sync_BogAZ01_#####da9f7ef@campohenriquezlab.onmicrosoft.com
LastDirSyncTime : 30/04/2019 0:33:53
LastPasswordSyncTime : 30/04/2019 0:39:02
PasswordSynchronizationEnabled : True

Este commandlet nos permite consultar la informacion de la organizacion, su administrador, numero de contacto, correo electronico y si tiene habilitado el servicio de sincronizacion de directorios, cuando fue la ultima sincronizacion
PS>get-help Set-MsolDirSyncEnabled

NOMBRE
Set-MsolDirSyncEnabled

SINOPSIS
Used to de-/activate Directory Sync for this tenant.

SINTAXIS
Set-MsolDirSyncEnabled -EnableDirSync [-TenantId ] []

DESCRIPCIÓN
The Set-MsolDirSyncEnabled cmdlet is used to turn directory synchronization on or off for a company.

VÍNCULOS RELACIONADOS

NOTAS
Para ver los ejemplos, escriba: «get-help Set-MsolDirSyncEnabled -examples».
Para obtener más información, escriba: «get-help Set-MsolDirSyncEnabled -detailed».
Para obtener información técnica, escriba: «get-help Set-MsolDirSyncEnabled -full».
Para obtener ayuda disponible en línea, escriba: «get-help Set-MsolDirSyncEnabled -online»

PS>get-help Set-MsolDirSyncEnabled -examples

NOMBRE
Set-MsolDirSyncEnabled

SINOPSIS
Used to de-/activate Directory Sync for this tenant.

-------------------------- EXAMPLE 1 --------------------------

C:\PS>Set-MsolDirSyncEnabled -EnableDirsync $true

          None

Description

-----------

This command turns on directory synchronization for a company.

PS>Set-MsolDirSyncEnabled -EnableDirsync $False
Confirmar
¿Desea continuar con la operación?
&Sí &No S&uspender
S
Este cmdlet nos ayudo a deshabilitar la sincronizacion del directorio activo con Azure AD, ahora vamos a revisarlo.
PS>Get-MsolCompanyInformation |ft DisplayName, DirectorySynchronizationEnabled

DisplayName DirectorySynchronizationEnabled
———– ——————————-
CampoHenriquez False

De esta manera quedo deshabilitado nuestra sincronizacion de AD hacia AAD, hasta la proxima!