Auditar y gestionar administradores locales desde PowerShell

Hola a todos!

Recientemente, me han preguntado por la forma de poder saber, desde Powershell quienes son administradores locales de la máquina y he decidido escribir este pequeño artículo con la forma en que se puede hacer de manera rápida, tanto consultar quienes son administradores locales, como la forma en que podemos añadir y quitar miembros al grupo.

Lo primero que debemos saber es que «Microsoft.PowerSehll.localAccounts» es el cmdlet de cuentas locales.

Para consultar que podemos hacer con ella, haremos:

Get-Command -Module Microsoft.PowerSehll.localAccounts

Una vez hecho esto ya sabemos que podemos hacer la consulta de grupos.

Para ello ejecutaremos:

Get-LocalGroup

Ahora podemos ver que usuarios hay en el grupo de «Administradores».

Para ello lanzamos:

Get-LocalGroupMember -Group Administradores.

Cuando vemos el grupo de administradores locales necesitaremos saber que usuarios tenemos para poder añadirlos al grupo.

Para ello usamos:

Get-LocalUser

Si queremos añadir el usuario TALLERSQL00 usaremos el siguiente comando:

Add-LocalGroupMember -Group Administradores -Member TALLERSQL00

Después comprobamos que se ha añadido.

Si lo que queremos es eliminar el usuario del grupo de administradores locales usamos el comando:

remove-LocalGroupMember -Group Administradores -Member TALLERSQL00

Y comprobamos que se ha eliminado.

Espero que os resulte útil.

Un saludo

Comprobar estado servicios de Hyper-V desde Powershell

En caso de necesitar comprobar el estado de los servicios de Hyper-V de manera rápida podemos comprobarlos, a la vieja usanza, usando las consolas de Servicios o de Administrador de tareas y accediendo a la parte de servicios.

En el caso de buscarlos a través de Administrador de Tareas o de Servicios, podemos ver los servicios de Hyper-V, pero hay que tener cuidado, porque no se muestran todos en esta parte, hay alguno que queda en otras zonas de la consola.

Una forma rápida de verlo sería usando la siguiente consulta de PowerShell:

Get-CimInstance -ComputerName VIEJUNOWARRIOR -ClassName Win32_Service -Filter «Name like ‘%vm%'»

Donde %vm% es la cadena de hace referencia a diversos servicios de virtualziación.

También podemos ver los servicios que están en ejecución ahora mismo:

Get-CimInstance -ComputerName VIEJUNOWARRIOR -ClassName Win32_Service -Filter «Name like ‘%vm%’ and state = ‘running'»

Tenemos que tener en cuenta que muchos están parados porque están esperando a que se desencadene una acción, por ejemplo, a través de los servicios de integración.

Si quisieramos darle formato a la salida podríamos darle distintas opciones como:

En este caso, vamos a mostrar los servicios de «%vm%» sacando unos campos en concreto, entre los que me interesa especialmente «caption» para poder ver las descripciones y ver si se está metiendo algún otro servicio, como es el caso, ya que se está metiendo «DevMgmtService» que lo usa el Antivirus Bitdefender.

Get-CimInstance -ComputerName VIEJUNOWARRIOR -ClassName Win32_Service -Filter «Name like ‘%vm%'» | Format-Table -Property SystemName, Name, Caption, Status, ProcessId, StartName

Espero que os resulte útil.

Un saludo

Solución de problemas de conexión en Azure

En este caso vamos a ver como solventar un problema de conexión a una máquina virtual de Azure.

En caso de encontrarnos con este tipo de problemas

Podemos leer más información sobre diagnostico de red visitando este enlace:

https://docs.microsoft.com/es-es/rest/api/network-watcher/networkwatchers/getnetworkconfigurationdiagnostic

Automatización REST API con PowerShell en Azure

El servicio de Automatización de Azure (Azure Automation) nos proporciona un motor de ejecución de flujos de trabajo que es realmente fiable y completamente escalable.

Nos proporciona la posibilidad de automatizar todas aquellas tareas de administración que son comúnmente repetidas.

Una vez identificados los procesos que se repiten comúnmente se deben automatizar a través del modelo de runbooks al que estamos acostumbrados los que hemos trabajado con System Center Orchestrator.

Estos flujos de trabajo están creados en scripts de Windows PowerShell y son lo que se lanza dentro del motor de ejecución de Azure Automation.

Nosotros podemos usar la API para diseñar, leer, actualizar y eliminar recursos de automatización. Estén estos incluidos dentro de runbooks o en trabajos de runbook.

Gracias a este modelo, podemos administrar los activos de nuestra infraestructura como variables, programaciones, módulos de Windows PowerShell, credenciales y certificados.

Tenemos un monton de opciones:

ActivityAdministre actividades disponibles desde un módulo importado en una cuenta de automatización.
Agent registration informationAdministrar la información de registro del agente de automatización.
Automation accountGestionar y proporcionar información sobre cuentas de automatización en un grupo de recursos.
CertificateGestionar y proporcionar información sobre activos de certificados.
ConnectionGestionar y proporcionar información sobre conexiones.
Connection typeAdministre y brinde información sobre los tipos de conexión que dan servicio a las conexiones.
CredentialAdministre los activos de credenciales para autenticarse para cualquier recurso o propósito.
DSC compilation jobAdministre y brinde información sobre trabajos de compilación para configuraciones DSC.
DSC compilation jobstreamAdministre y proporcione información sobre flujos de trabajo de compilación para configuraciones DSC.
DSC configurationGestionar y proporcionar información sobre configuraciones DSC.
DSC nodeGestionar y proporcionar información sobre nodos DSC.
DSC node configurationConfigure y proporcione información sobre nodos DSC.
FieldsReview details of modules in an Automation account.
Hybrid Runbook Worker groupGestionar grupos de trabajadores de Runbook híbrido.
JobAdministrar trabajos de runbook.
Job scheduleGestionar horarios de trabajo.
Job streamRevise la secuencia de trabajos para un trabajo de runbook.
KeysLista de claves de automatización para una cuenta de automatización.
LinkedWorkspaceRecupere el espacio de trabajo vinculado para una cuenta de automatización.
ModuleOperaciones para administrar los módulos de flujo de trabajo de Windows PowerShell.
Node count informationObtenga recuentos para nodos DSC.
Node reportsRevise los informes DSC enviados desde un nodo DSC a Automation.
Object data typesRevise los detalles de los módulos en una cuenta de Automatización.
OperationsRevise todas las opciones de API REST disponibles para la automatización.
RunbookOperaciones para gestionar runbooks y borradores de runbooks.
Runbook draftOperaciones para gestionar runbooks en Automatización.
ScheduleProgramar operaciones para runbooks.
Software Update Configuration Machine RunsProporcione información para las ejecuciones de la máquina de configuración de actualización de software.
Software Update Configuration RunsProporcione información para las ejecuciones de configuración de actualización de software.
Software Update ConfigurationsGestionar configuraciones de actualización de software.
Source ControlGestionar y proporcionar información para el control de origen.
Source Control Sync JobGestionar y proporcionar información para los trabajos de sincronización de control de origen.
Source Control Sync Job StreamsGestionar y proporcionar información Flujos de trabajos de sincronización de control de origen
StatisticsRevise las estadísticas de una cuenta de automatización.
Test jobsGestionar trabajos de prueba para un runbook.
Test job streamsRevise las secuencias de trabajos para un trabajo de runbook.
UsagesRevise los minutos de tiempo de ejecución del trabajo utilizados para una cuenta de Automatización.
VariableAdministre los datos que desea almacenar en una cuenta de Automatización.
WatcherAdministre y brinde información sobre las tareas de Watcher.
WebhookUtilice API para administrar webhooks en una cuenta de Automatización.

Además hay muchas otra información que podemos revisar, todo lo relacionado con automatización:

https://docs.microsoft.com/es-es/azure/automation/

Hablaremos de ello más adelante.

Formación gratuita sobre la nube con Coursera

Hola a todos!

Estos difíciles días de aislamiento, estoy oyendo a muchos amigos, compañeros, y alumnos decir que no saben que hacer, que sus días se hacen muy largos y se aburren.

La verdad es que en cierto modo los envidio, porque yo no paro de hacer cosas estos días, sobre todo relacionadas con TEAMS que es lo que se está montando en todas partes para seguir haciendo Teletrabajo para capear la maldita crisis por la que estamos pasando.

Tal como les he dicho a todos los que me han comentado sus aburrimiento, es que tienen una oportunidad genial de ponerse al día con tecnologías tales como Azure, que tanta importancia tienen hoy en día.

Aquí os dejo el acceso a los cursos relacionados con cloud computing o con Azure:

https://es.coursera.org/search?query=azure&=

Aquí os dejo el acceso a Coursera:

https://es.coursera.org/

Gracias por todo

Un saludo

¿SAP en Azure?

Hola a todos!

Recientemente hemos tenido que revisar la posibilidad de llevarnos a la nube los servicios de un cliente, y uno de los servicios más críticos para este cliente era SAP.

El cliente era reticente porque no sabía que existía la posibilidad de trabajar con SAP en Azure.

Os paso unos enlaces para que podáis ver información general:

1º) Descubra por qué los clientes de SAP con marcas líderes y grandes paisajes de misión crítica están migrando su SAP a Azure:

https://myignite.techcommunity.microsoft.com/sessions/81966?source=sessions

2º) Mejors prácticas de cargas de trabajo de SAP en Azure:

https://myignite.techcommunity.microsoft.com/sessions/82898?source=sessions

3º) Arquitectura de SAP con requisitos de rendimiento exigentes en Azure:

https://myignite.techcommunity.microsoft.com/sessions/82841?source=sessions

Iremos publicando más información sobre SAP en Azure y sobre todo sobre Azure 😉

Espero que os resulte útil.

Un saludo

Cancelado el Global Azure 2020 de Zaragoza

Hola a todos!

Como no podía ser de otra manera, el evento Global Azure 2020 de Zaragoza se cancela en su formato presencial, pero no nos rendimos y presentaremos batalla en formato on-line.

Tal como hemos comentado en el anterior articulo, en el que comentamos que se cancelaba el evento a nivel mundial, el mensaje lo publicó el equipo de corp que gestiona el evento a través de la siguiente URL:

https://globalazure.net/Blog/Post/190/Global-Azure-and-COVID-19

A nosotros nos afecta ya que lo estábamos montado para llevarlo a cabo en formato presencial, pero la daremos la vuelta para hacerlo on-line.

Os iremos comentado como avanza el tema.

Espero que os animéis a acompañarnos.

Un abrazo

Cancelado el Global Azure 2020

Hola a todos!

Lamentablemente, el equipo organizador del Global Azure 2020 ha tomado la decisión de cancelar el Global Azure 2020 ya que los casos de Covid-19 no paran de crecer por todo el mundo.

Os dejo el enlace del anuncio por si queréis echarle un vistazo, pero ha sido una difícil decisión sin duda y también la más sabia dada la situación actual.

https://globalazure.net/Blog/Post/190/Global-Azure-and-COVID-19

Esperamos que pueda realizarse más adelante y podamos sumarnos a la iniciativa.

Un abrazo!

Introducción de Azure Cloud Shell

La mejor forma de empezar con Azure CLI es partir de Azure Cloud Shell vía navegador.

Para lanzar Cloud Shell basta con acceder al Portal de Azure y hacer clic en el icono >_ que hay en la parte superior de la pantalla.

Hecho esto, se arranca Power Shell.

Y debemos seleccionar, si así lo deseamos la Cloud Shell.

De esta manera empezaremos a trabajar como si fuera un GNU/Linux.

De hecho, veremos que podemos usar muchos comandos, entre los que tenemos por ejemplo «ls -lah», el clásico listado largo de todos los archivos en formato amigable para los humanos 😛

Una de las tareas simples que podemos realizar en este entorno es por ejemplo lanzar una consulta de la suscripción usada.

Si queremos crear un nuevo recurso usaremos un comando como el siguiente: az group create –location <lugar> –name <nombre>

Siendo en mi caso <lugar> esteurope y <name> zaragozanos

Obteniendo una estructura como la siguiente.

Para eliminarla usaremos un comando como el siguiente:
az group delete –name zaragozanos

Y obtendremos una ejecución como la siguiente, que no es automática, pero si que es muy rápida.

Los comando, son más o menos intuitivos, al menos, no son tan «complicados» como PowerShell.

Para pedir ayuda, podremos usar «-h» o «–help» con el comando que queremos trabajar, por lo que tendremos bastante flexibilidad de prueba/error.

Si ponemos directamente «az –help» nos mostrará todos los comando que podemos usar.

Iremos hablando de más cosillas de Azure CLI a lo largo de los próximos artículos.

OS dejo aquí la respuesta a «az –help»:

nacho@Azure:~$ az –help

Group
az

Subgroups:
account : Manage Azure subscription information.
acr : Manage private registries with Azure Container Registries.
ad : Manage Azure Active Directory Graph entities needed for Role Based
Access Control.
advisor : Manage Azure Advisor.
aks : Manage Azure Kubernetes Services.
ams : Manage Azure Media Services resources.
apim [Preview] : Manage Azure API Management services.
appconfig : Manage App Configurations.
appservice : Manage App Service plans.
backup [Preview] : Manage Azure Backups.
batch : Manage Azure Batch.
billing : Manage Azure Billing.
bot : Manage Microsoft Azure Bot Service.
cache [Preview] : Commands to manage CLI objects cached using the
--defer argument.
cdn : Manage Azure Content Delivery Networks (CDNs).
cloud : Manage registered Azure clouds.
cognitiveservices : Manage Azure Cognitive Services accounts.
consumption [Preview] : Manage consumption of Azure resources.
container : Manage Azure Container Instances.
cosmosdb : Manage Azure Cosmos DB database accounts.
deployment : Manage Azure Resource Manager template deployment at subscription
scope.
deploymentmanager [Preview] : Create and manage rollouts for your service.
disk : Manage Azure Managed Disks.
disk-encryption-set : Disk Encryption Set resource.
dla [Preview] : Manage Data Lake Analytics accounts, jobs, and catalogs.
dls [Preview] : Manage Data Lake Store accounts and filesystems.
dms : Manage Azure Data Migration Service (DMS) instances.
eventgrid : Manage Azure Event Grid topics, event subscriptions, domains and
domain topics.
eventhubs : Manage Azure Event Hubs namespaces, eventhubs, consumergroups and
geo recovery configurations – Alias.
extension : Manage and update CLI extensions.
feature : Manage resource provider features.
functionapp : Manage function apps. To install the Azure Functions Core tools
see https://github.com/Azure/azure-functions-core-tools.
group : Manage resource groups and template deployments.
hdinsight : Manage HDInsight resources.
identity : Managed Service Identities.
image : Manage custom virtual machine images.
iot : Manage Internet of Things (IoT) assets.
iotcentral : Manage IoT Central assets.
keyvault : Manage KeyVault keys, secrets, and certificates.
kusto : Manage Azure Kusto resources.
lab [Preview] : Manage Azure DevTest Labs.
lock : Manage Azure locks.
managedapp : Manage template solutions provided and maintained by Independent
Software Vendors (ISVs).
managedservices : Manage the registration assignments and definitions in Azure.
maps : Manage Azure Maps.
mariadb : Manage Azure Database for MariaDB servers.
monitor : Manage the Azure Monitor Service.
mysql : Manage Azure Database for MySQL servers.
netappfiles [Preview] : Manage Azure NetApp Files (ANF) Resources.
network : Manage Azure Network resources.
openshift : Manage Azure Red Hat OpenShift Services.
policy : Manage resource policies.
postgres : Manage Azure Database for PostgreSQL servers.
ppg : Manage Proximity Placement Groups.
provider : Manage resource providers.
redis : Manage dedicated Redis caches for your Azure applications.
relay : Manage Azure Relay Service namespaces, WCF relays, hybrid
connections, and rules.
reservations [Preview] : Manage Azure Reservations.
resource : Manage Azure resources.
role : Manage user roles for access control with Azure Active Directory
and service principals.
search [Preview] : Manage Azure Search services, admin keys and query keys.
security [Preview] : Manage your security posture with Azure Security Center.
servicebus : Manage Azure Service Bus namespaces, queues, topics,
subscriptions, rules and geo-disaster recovery configuration
alias.
sf [Preview] : Manage and administer Azure Service Fabric clusters.
sig : Manage shared image gallery.
signalr : Manage Azure SignalR Service.
snapshot : Manage point-in-time copies of managed disks, native blobs, or
other snapshots.
sql : Manage Azure SQL Databases and Data Warehouses.
storage : Manage Azure Cloud Storage resources.
tag : Manage resource tags.
vm : Manage Linux or Windows virtual machines.
vmss : Manage groupings of virtual machines in an Azure Virtual Machine
Scale Set (VMSS).
webapp : Manage web apps.

Commands:
configure : Manage Azure CLI configuration. This command is interactive.
feedback : Send feedback to the Azure CLI Team!
find : I’m an AI robot, my advice is based on our Azure documentation as
well as the usage patterns of Azure CLI and Azure ARM users. Using
me improves Azure products and documentation.
interactive [Preview] : Start interactive mode. Installs the Interactive
extension if not installed already.
login : Log in to Azure.
logout : Log out to remove access to Azure subscriptions.
rest : Invoke a custom request.
version [Preview] : Show the versions of Azure CLI modules and extensions in
JSON format by default or format configured by –output.

Please let us know how we are doing: https://aka.ms/clihats
nacho@Azure:~$

Global AI On Tour

Hola a todos!

Ya tenemos confirmada la fecha del evento de «Global AI on tour 2020» en Zaragoza, del que tengo la suerte de ser organizador.

Se celebrará el 21 de mayo de 2020 en el Centro de Tecnologías Avanzadas de Zaragoza, más conocido como CTA. Aunque el sitio no es definitivo.

La web del enlace evento es la siguiente:

https://globalai.community/global-ai-on-tour/spain-espana-zaragoza

De de momento no están abiertas las inscripciones, pero esperamos tener pronto

Espero veros allí.

Un abrazo!