Posteado por xavixaus on 22nd January 2012
Buenos días.
Hace un tiempo me surgió la necesidad de detectar equipos desktop o laptop y pedí a Carlos Torres (uno de nuestros colaboradores) al que le va mucho el tema de Visual Basic Script(vbs) si me podía hacer un script para poderlo detectar.
Yo únicamente tenía una parte de código para distinguir desde una consulta WMI los tipos de chasis y detectar en un solo equipo de que tipo era.
Necesitaba una aplicación que pasandole un listado de equipos me dijera en un excel de que tipo era (Desktop o laptop).
Y aquí os dejo el maravilloso script que creó.
Sigue leyendo MegaCrack »
Posteado por Active Directory, Programación, VbScript, WMI | 2 Comments »
Posteado por xavixaus on 18th January 2012
Buenas,
Para hacer un listado de los usuarios que tienen ActiveSync habilitado en Active Directory usaremos la gran herramienta de la empresa Quest (Active Roles Management) más el ya indispensable Powershell (Leed el siguiente artículo para ver como instalar estas herramientas) : http://www.megacrack.es/2011/01/15/consultar-todos-los-servidores-en-ldap-a-travs-de-powershell/
Lo que queremos conseguir con este artículo es realizar un listado con los usuarios que tienen habilitada la característica de Exchange (Sincronización iniciada por el usuario o Notificaciones de actualización).
Para conseguirlo usamos el campo msExchOmaAdminWirelessEnable que contiene diferentes valores, 2, 3, 7 según lo que esté habilitado.
Sabemos que distinto de 7 significa que tiene algo habilitado. (Por ejemplo con Sincronización iniciada por el usuario nos aparece el resultado 3 y con Sincronización iniciada por el usuario y Notificaciones de actualización nos aparece resultado 2, con lo que la consulta será que muestre un listado de usuarios cuando el campo msExchOmaAdminWirelessEnable sea distinto de 7.
El comando que usaremos es el siguiente:
Get-QADUser -DontUseDefaultIncludedProperties –SizeLimit 0 –IncludedProperties msExchOmaAdminWirelessEnable | where-object{($_.msExchOmaAdminWirelessEnable -ne 7) -and ($_.msExchOmaAdminWirelessEnable -ne $null)} | format-table displayname, samAccountName, msExchOmaAdminWirelessEnable
Método abreviado (Con menos caracteres en la línea de la consulta): Esto es solo para ahorrar escribir tanto (El resultado es exactamente el mismo).
Get-QADUser –dudip –sl 0 –ip msExchOmaAdminWirelessEnable | ?{($_.msExchOmaAdminWirelessEnable -ne 7) -and ($_.msExchOmaAdminWirelessEnable -ne $null)} | ft displayname, samAccountName, msExchOmaAdminWirelessEnable
Solo para conocer algo más de powershell, para comprobar los nombres cortos de todas las propiedades en powershell escribid “alias” y veréis una larga lista de los nombres cortos de los modificadores como los siguientes ejemplos.
CommandType Name Definition
———– —- ———-
Alias % ForEach-Object
Alias ? Where-Object
Alias ac Add-Content
Alias asnp Add-PSSnapIn
Alias cat Get-Content
Alias cd Set-Location
Alias chdir Set-Location
Alias clc Clear-Content
Alias clear Clear-Host
Espero que os haya sido de ayuda.
Hasta pronto.
Posteado por Active Directory, Exchange, PowerShell | No Comments »
Posteado por Alex Nalda on 18th December 2011
Buenas a tod@s,
Hoy voy a explicar como transferir datos desde un servidor (sea DC o miembro) en un dominio a otro servidor del dominio, ya sea con fines de migración o simplemente por ampliación de espacio del servidor , ya que aún existen admins que trabajan con infraestructura Windows 2000 Server y puede que a estas alturas por exceso de almacenamiento por parte de los usuarios en el servidor, éste se haya quedado escaso de capacidad.
Pues bien, lo haremos con una pequeña utilidad denominada Robocopy (Robust File and Folder Copy). Se trata de un comando incluido en el Resource kit de Windows, el cual nos es de utilidad para copiar archivos y carpetas, hasta aquí ninguna novedad.
El potencial de esta aplicación es que es muy versátil; puedes decirle que borre la fuente de la que está copiando, o si falla la copia de un archivo, podemos decirle que lo intente X veces y también podemos definir el tiempo de espera entre intento e intento,…etc . Lo bueno que todo esto de manera totalmente automática y con una simple línea de comandos lo efectuará.
Instalamos primeramente el Resource Kit que por defecto se instalará en C:\Archivos de programa\Windows Resource Kits\Tools
Acto seguido abrimos la consola desde Inicio-Ejecutar y tecleamos “cmd”. Una vez dentro buscamos la ruta anterior: “C:\Archivos de programa\Windows Resource Kits\Tools” y desde ahí pondríamos por poner un ejemplo…..:
ROBOCOPY \\Server1\C$ \\Server2\F$\BACKUP /S /E /COPYALL /MIR /R:2 /W:2 /LOG:F:\BACKUP\COPIA1.TXT
Sigue leyendo MegaCrack »
Posteado por Active Directory, General | 2 Comments »
Posteado por xavixaus on 18th November 2011
Buenas,
Os pongo algún comando útil que uso a menudo con Powershell y Active Roles Management instalados (Leed el siguiente artículo para ver como instalar estas herramientas) : http://www.megacrack.es/2011/01/15/consultar-todos-los-servidores-en-ldap-a-travs-de-powershell/
Para ver todos los posibles atributos del comando get-qaduser:
Get-qaduser –sizelimit 0 | get-member
Sigue leyendo MegaCrack »
Posteado por Active Directory, PowerShell, Programación | No Comments »
Posteado por xavixaus on 18th November 2011
Para proteger el sistema Exchange de envíos masivos no aprobados se propone implementar un cambio en cada usuario de la organización para así limitar el número de destinatarios en un correo.
El campo de Active Directory que vamos a usar es msExchRecipLimit el cual limita el número de destinatarios cuando un usuario envía un correo.
Escenario actual:
Cualquier usuario de la organización puede coger un listado de usuarios y enviarles un mail sin ninguna limitación de destinatarios provocando una posible caída en el servicio de correo.
Futuro Escenario:
Exchange dispone de un límite global para todos los usuarios. (Este límite se va a configurar en “100” destinatarios, excepto usuarios VIPs o previamente definidos).
Implementación:
1.- Comunicar cambio al equipo de dirección y tras su aprobación a los técnicos de soporte para que estén al caso.
2.- Crear script para implementar los 100 destinatarios a todos los usuarios de la organización sin excepción: Leeros el cómo instalar las herramientas Quest Active Roles desde el siguiente artículo que os introducirá también en algunos comandos útiles en PowerShell desde el siguiente enlace: http://www.megacrack.es/2011/01/15/consultar-todos-los-servidores-en-ldap-a-travs-de-powershell/
Realizar ejecución de un script en PowerShell como el siguiente:
$users = gc c:\allusers.txt
Foreach ($usuario in $users)
{
try
{
Set-QADUser $usuario -includedProperties msExchRecipLimit -ObjectAttributes @{msExchRecipLimit="100"}
}
catch
{
Write-Error $_
}
}
Donde c:\allusers.txt es la lista de todos los usuarios de vuestra organización que previamente deberemos haber creado.
Este listado de usuarios se puede conseguir a través del siguiente comando:
get-qaduser –sizelimit 0 -memberof "Usuarios del dominio" | select logonName |Export-Csv -Path c:\allusers.txt
La ejecución del script anterior realizará una modificación de cada usuario de la organización poniendo un límite de 100 destinatarios.
3.- Modificar y guardar con otro nombre el script anterior para implementar a la lista previamente proporcionada de personas a las que no le queremos poner límite, VIPs, … la exención del límite en los destinatarios. (Sin límite).
$users = gc c:\vipusers.txt
Foreach ($usuario in $users)
{
try
{
Set-QADUser $usuario -includedProperties msExchRecipLimit -ObjectAttributes @{msExchRecipLimit=""}
}
catch
{
Write-Error $_
}
}
Donde c:\vipusers.txt es la lista de usuarios VIPs y usuarios sin límite previamente proporcionada.
La ejecución del script anterior realizará una modificación del límite de destinatarios a “Sin límite”.
4.- Queda definir un procedimiento para que cada nueva creación de un usuario se le configure el límite de destinatarios en 100 si es un usuario normal o sin límite si es un usuario VIP o especial.
Opcional:
1.- Realizar un script que chequee mensualmente la correcta implementación de estos límites para asegurar así la salud de nuestro servicio de correo.
2.- Crear 2 o más grupos en Active Directory con el nombre por ejemplo EXCHLIMIT100 y EXCHLIMIT9999, mediante una tarea diaria comprobar si un usuario es miembro del grupo EXCHLIMIT9999, en el caso que no lo sea añadirle el grupo EXCHLIMIT100 y ejecutar el primer scritp del artículo con el listado de miembros de este grupo.
Espero que os sea útil.
Hasta pronto.
Posteado por Active Directory, Mail Servers, PowerShell | No Comments »