lunes, 20 de octubre de 2014

Agregar direcciones a una casilla en Exchange 2013 a través de Powershell

Hola Mundo:

Cada casilla de correo, en cualquier plataforma, puede tener distintas direcciones de correo
electrónico.

Exchange 2013 incluye esta característica y, además, es configurable a través de la interfaz web. Es bastante cómodo cuando es para un solo usuario y solo un par de direcciones y no lo es para cuando son 700 y debe hacerse a través de un script.

Para completar esta acción se debe hacer a través de la consola Powershell para Exchange 2013.

Bien. Supongamos que tenemos un CSV (llamado archivo.csv) con la información que se requiere y se tiene en el siguiente formato:

alias, emailaddresses 
usuario1,"[email protected],[email protected]
usuario2,"[email protected],[email protected]
usuario3,"[email protected],[email protected]
usuario4,"[email protected], [email protected]"

Se tiene 4 usuarios y cada usuario tiene 3 direcciones de email asociadas a su casilla. Es importante que las cuentas estén creadas antes de poder asociar más direcciones de correo electrónico  a las casillas. Entonces si las cuentas ya están creadas, no queda más que modificarlas usando el cmdlet Set-Mailbox

El cmdlet Set-Mailbox tiene un parámetro -EmailAddresses donde se indican todas las direcciones de correo electrónico que están asociadas a la casilla. Tiene un tipo de datos especial, por lo que hay que trabajarlo en el script para que pueda convertirlo de forma simple el valor (o los valores) que le entreguemos.

Entonces el script quedaría así:

Import-Csv "archivo.csv" | ForEach-Object {

$correos = $_."emailaddresses" -split ',' 

Set-Mailbox -Identity $_."alias" -EmailAddresses @{add=$correos}  

}


De esta forma, le estaría diciendo al sistema que tengo un set de direcciones de correos electrónicos, separados por una coma, para la casilla identificada con el alias.

¡Chau!

domingo, 5 de octubre de 2014

Tips de Powershell para Exchange 2013

Hola Mundo:

¡Que maravilloso que los productos tengan su consola de Powershell! Es muy bueno como se puede automatizar y administrar a través de estas herramientas. Ahora, no es nuevo. Desde la versiones anteriores de Windows y los productos que se puede hace scripting con VBScript y en los derivados de Unix se tiene la poderosa Shell.

¿Cuál es la ventaja de Powershell? La orientación a objetos y la integración con .NET.
De todas formas, no pretendo hablar largo de los lindo que es Powershell. El objetivo es dejar anotados ciertas líneas muy útiles  y que las he usado harto estos días en el trabajo. 

Eliminar todos los usuarios
$mailbox = Get-Mailbox
Foreach($cuenta in $mailbox){Remove-Mailbox -Identity $cuenta.Alias -Permanent $true -Confirm:$Y}


Eliminar todos los contacto
$contactos = Get-MailContact
Foreach($contacto in $contactos){Remove-MailContact -Identity $contacto.Alias -Confirm:$Y}


Eliminar todos los grupos
$grupos = Get-DistributionGroup
Foreach($grupo in $grupos){Remove-DistributionGroup -Identity $grupo.Alias -Confirm:$Y}

Nada más copiar y pegar.

Chau!

lunes, 22 de septiembre de 2014

Instalar .NET Framework 3.5 en Windows Server 2012 R2

Hola Mundo:

Hay varias aplicaciones que hacen uso de la característica de .NET Framework 3.5 y Windows Server ofrece un asistente y comandos de Powershell para instalarlo como característica.
Es maravilloso, porque no tienes que descargar nada extra y todo lo haces a través de la consola de administración, o bien, descarga componentes desde Windows Update.

La vida no es de color de rosa, menos en el mundo del IT.

En un escenario donde los servidores tienen Windows Server 2012 R2 y no están conectados directamente a Internet, es necesario instalar desde el medio de instalación o desde un recurso compartido. Esto habitualmente funciona, pero en algunos casos no lo hace y tienes que recurrir a otras técnicas.

Si te encuentras con el error 0x800f0906 al instalar la característica de .NET Framework 3.5 en Windows Server 2012 R2, sigue los siguientes pasos:

Editar políticas locales
  1. Abrir gpedit.msc
  2. Buscar en Administrative Templats -> System el elemento Specify settings for optional component installation and component repair
  3. Dejar la configuración de la política de la siguiente forma:

  4.  
Instalar Caracteristica
  1. Abrir una ventana de cmd con permisos de administrador
  2. Escribir lo siguiente: DISM /online /enable-feature /featurename:NetFX3 /all
 Con ambos pasos se fuerza por política local a instalar todo desde Windows Update y luego realiza la habilitación de la característica con la herramienta DISM. Si la habilitación la haces desde el asistente o por Powershell, arrojará el mismo error. No se por qué.

Espero que te sea de utilidad  y te ayude a ahorrar tiempo.

Saludos!

martes, 16 de septiembre de 2014

Windows 8.1 y Conexion VPN: HORROR

Hola Mundo:

Acostumbro, al igual que muchos informáticos, a trabajar con conexiones VPN con clientes y en mi casa también tengo un pequeño servidor VPN. En mi equipo tengo instalado Windows 8.1 y de un momento a otro me arrojó el siguiente error al intentar conectarme a alguna conexión VPN:

Error 720: A connection to the remote computer could not be established You might need to change the network settings for this connection
Eliminando las conexiones y volviéndolas a crear no solucionó el drama.
Revisando vi que en mi administrador de dispositivos habían dispositivos que no funcionaban de forma correcta.

A partir del antecedente, investigué en internet y habían personas que tenían el mismo problema y los solucionaron siguiendo los siguientes pasos:

  1. Tomar nota de los dispositivos de red, en el administrador de dispositivos, que presentan falla (icono amarillo de exclamación).
  2. Abrir el Editor de Registro de Windows (regedit) y exportar la clave: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4d36e972-e325-11ce-bfc1-08002be10318} 
  3. Abrir el archivo .reg exportado y buscar cada uno de los dispositivos que presentan problemas. Fijarse bien en DriverDesc.  
  4. Con los dispositivos identificados en el archivo (Los mios era 0015, 0016 y 0017) los elimino en el editor de registro.
  5. Actualizar el driver de cada uno de los dipositivos con problemas desde el administrador de dsipositivos.
Después de esto funcionó y estoy seguro que a ustedes también les va a funcionar.

Chau!