miércoles, 5 de mayo de 2021

Listar usuarios de grupo en directorio Activo e incluir usuarios a grupos de seguridad

Hace bastante tiempo no publicaba, pero hoy dejare por aqui dos comandos utiles para administracion de AD, desde el controlador de dominio podemos ejecutar por consola los siguientes comandos si queremos saber el listado de usuarios pertenecientes a un grupo.


dsquery group -name "Nombre_grupo" | dsget group -members >> C:\lista.csv 

 y si deseamos agregar un usuario a ese grupo:


Add-ADGroupMember "Nombre_grupo" -Member "nombre_usuario"

 

Espero a alguno le sea util este post
¡Hasta la proxima!


Si te fue útil la información "HAZ CLICK EN LA PUBLICIDAD DE GOOGLE"

 visitando nuestros anunciantes, agradeces nuestro trabajo...




martes, 14 de abril de 2020

Conocer usuarios con OWA y ActiveSync Habilitados en Office 365

Aunque andaba un poco alejado del blog, hoy vuelvo para iniciar aqui una serie de publicaciones acerca de Office 365, empezando con un pequeño script que nos permite sacar un listado de los usuarios en nuestro office 365, y que tienen habilitadas las caracteristicas OWA y ActiveSync.
Como mi ambiente de correo es multidominio este Script esta diseñado para que pueda sacar por separado los usuarios del dominio1 y el dominio2 reemplazandolo en el condicional like.

entonces en el Microsoft Exchange Online Powershell Module (El cual en nuestro siguiente post explicare)

pegaremos el siguiente codigo , el cual nos generara en la ruta C:\temp un archivo llamado StatusUsers.csv


 Get-CASMailbox -ResultSize Unlimited | Where-Object { $_.PrimarySmtpAddress -Like "*@dominio1*"} | Select PrimarySmtpAddress,Name,ActiveSyncEnabled,OWAEnabled | Export-CSV "C:\temp\StatusUsers.csv" -NoTypeInformation -Encoding UTF8

 Recordemos que podemos cambiar @dominio1 por cualquier termino de busqueda delk correo electronico que se requiera, alguna parte de la direccion por ejemplo, pero siempre entre los comodines *

-Like "*algo*"

Si te fue útil la información HAZ CLICK EN LA PUBLICIDAD DE GOOGLE" visitando nuestros anunciantes, agradeces nuestro trabajo... 

viernes, 8 de junio de 2018

Cantidad de correos enviados y recibidos Exchange

Esta vez la necesidad es sacar un informe de la cantidad de correos enviados y recibidos en una plataforma Exchange, el cual tiene 3 CAS (Client Access services ), se cuenta con 8 servidores, los cuales se listaran en un archivo que llamaremos servidores.txt

El contenido del archivo quedaria algo parecido a esto:

Servidor1
Servidor2
Servidor3
Servidor4
Servidor5
Servidor6
Servidor7
Servidor8

Se puede utilizar el nombre, el FQDN, o la IP.

Ahora el sencillo Script abajo es una mezcla de VB y powershell
En una primera parte, y la que mas consume lineas de codigo, se crea un calendario GUI para seleccionar la fecha de inicio de la busqueda para realizar el conteo, y en la segunda parte se realiza la captura de datos, organizacion, y almacenamiento.

el resultado sera un archivo con el nombre InformeMensualEXcFECHA.txt



$ErrorActionPreference = "Continue";
 
#Primera parte, calendario
Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.Drawing
$form = New-Object Windows.Forms.Form
$form.Text = 'Seleccione la fecha de inicio'
$form.Size = New-Object Drawing.Size @(250,230)
$form.StartPosition = 'CenterScreen'

$calendar = New-Object System.Windows.Forms.MonthCalendar
$calendar.ShowTodayCircle = $false
$calendar.MaxSelectionCount = 1
$form.Controls.Add($calendar)

$OKButton = New-Object System.Windows.Forms.Button
$OKButton.Location = New-Object System.Drawing.Point(38,165)
$OKButton.Size = New-Object System.Drawing.Size(75,23)
$OKButton.Text = 'OK'
$OKButton.DialogResult = [System.Windows.Forms.DialogResult]::OK
$form.AcceptButton = $OKButton
$form.Controls.Add($OKButton)

$CancelButton = New-Object System.Windows.Forms.Button
$CancelButton.Location = New-Object System.Drawing.Point(113,165)
$CancelButton.Size = New-Object System.Drawing.Size(75,23)
$CancelButton.Text = 'Cancel'
$CancelButton.DialogResult = [System.Windows.Forms.DialogResult]::Cancel
$form.CancelButton = $CancelButton
$form.Controls.Add($CancelButton)

$form.Topmost = $true
$result = $form.ShowDialog()
$servers= Get-Content servidores.txt;
$reportfile = "InformeMensualEXc_$(get-date -format dd_MM_yyyy).txt";

#Si en el calendario se presiona OK 
if ($result -eq [System.Windows.Forms.DialogResult]::OK)
{
$date = $calendar.SelectionStart

$fecha= "$($date.ToShortDateString())"
$time = Get-Date
Add-Content $reportfile $time;
 
#Segunda parte, Query y almacenado de datos
foreach ($server in $servers)
{

#Cambiar *@Dominio.com" por el dominio del correo propio
$conteo=get-messagetrackinglog -ResultSize unlimited -server $server -EventID "RECEIVE" -Start "$fecha 00:00:00" | where {$_.Recipients -like "*@Dominio.com" } | Format-table Recipients
$rect=$conteo.Count
$dataRow = "Recibidos en $server $rect";
Add-Content $reportfile $dataRow;

#Cambiar *@Dominio.com" por el dominio del correo propio
 
$conteo1=get-messagetrackinglog -ResultSize unlimited -server $server -EventID "SEND" -Start "$fecha 00:00:00" | where {$_.Sender -like "*@Dominio.com" }  | Format-table Sender
$sendt=$conteo1.Count
$dataRow1 = "Enviados en $server $sendt";
Add-Content $reportfile $dataRow1;
}
}


Espero a alguno le sea util este post
¡Hasta la proxima!


Si te fue útil la información "HAZ CLICK EN LA PUBLICIDAD DE GOOGLE"

 visitando nuestros anunciantes, agradeces nuestro trabajo...