Archivo

Entradas Etiquetadas ‘powershell’

Grupos de distribucion en Exchange Online

domingo, 28 de julio de 2013 Sin comentarios

Definición y finalidad

Los grupos de distribución es una funcionalidad que permite recibir correos electrónicos bajo una dirección asignada y distribuirlos entre los miembros que pertenezcan a el.

Un ejemplo de esto podría ser un departamento como compras con 1 o mas empleados que tengan la necesidad de recepcionar los correos enviados a una dirección como compras@contoso.com.

Con esta funcionalidad no solo conseguimos evitar configurar una cuenta POP equipo por equipo sino que a diferencia de los grupos de distribución de otras plataformas aquí podemos asignar permisos para que los usuarios envíen como el departamento o en nombre del departamento.

dgscheme

Configuración utilizando el Portal de Office365

– Lo primero que tenemos que hacer es acceder al portal de Office365 (http://portal.microsoftonline.com).
– A continuación accederemos al panel de control de Exchange o ECP pinchando en la parte superior derecha donde pone «Admin» y luego en «Exchange». (si tienes un plan P1 de pequeña empresa accede al ECP siguiendo esta guía).

dg1

– Una vez dentro hacemos click en «Grupos»

esdg2

– Hacemos click en el símbolo «+» y a continuación donde pone «Grupo de Distribución»
– Establecemos las propiedades del grupo que queremos crear:

esdg3Nombre para mostrar: este es el nombre que aparecerá en la lista global de direcciones y que le aparecerá también a los destinatarios que reciban correos enviados a través de este grupo.

Alias: este campo es el identificador que usara el sistema para localizar e identificar a este grupo.

Descripción: podemos asignar una descripción corta de la finalidad del grupo.

Propietarios: indica quien tendrá los permisos necesarios para realizar modificaciones sobre el grupo.

Miembros: aquí definimos quienes serán los integrantes del grupo que recibirán los correos enviados a la dirección principal.

Permisos de unión al grupo: aquí podemos definir si los empleados pueden unirse al grupo sin necesidad de aprobación ninguna (abierto), si los empleados no pueden unirse al grupo sin excepción salvo que el propietario lo agregue de forma manual (cerrado), o si los empleados pueden enviar peticiones de unión al grupo para que el propietario lo rechace o lo apruebe (Aprobación del propietario).

Permisos de salida del grupo: en este apartado podemos definir si los empleados pueden abandonar el grupo sin necesidad de que ningún propietario lo apruebe (abierto), o si por el contrario el propietario debe aprobar la salida del miembro del grupo (cerrado).

– Una vez creado el grupo, podremos definir propiedades adicionales del mismo haciendo doble click sobre el grupo. Las pantallas con las que nos encontraremos son:

General, donde podremos definir el nombre para mostrar, el alias, la dirección de correo, descripción y algo muy importante, la posibilidad de esconder el grupo de la lista global de direcciones para que sea un grupo «invisible» para los usuarios

esdg4

Propiedad, donde indicamos quienes pueden realizar modificaciones al grupo, incluido la aprobación de miembros nuevos.

esdg5

Pertenencia, donde podemos indicar los destinatarios o recipientes de los correos enviados a la dirección del grupo.

esdg6

Aprobación de pertenencia, para establecer el grado de permisos para unirse al grupo o para abandonarlo.

esdg7

Administracion de entregas, donde podemos establecer quien puede enviar correos a la dirección de correo. Por defecto viene establecido para que únicamente acepte correos de las personas dentro de la organización, por lo que si queremos aceptar correos de otros dominios ajenos a nuestra organización tendremos que marcar la opción de «Remitentes dentro y fuera de la organización». Incluso podemos especificar remitentes específicos permitidos para enviar correo al grupo.

esdg8

Aprobación de Mensajes, aquí podemos establecer el flujo de correo recibido para poder moderarlo en caso que queramos aprobar los mensajes recibidos en el grupo antes de enviarlos a los miembros. Podemos definir los moderadores que queramos y si queremos excluir de esta regla a ciertos remitentes en los que confiemos. También tenemos la posibilidad de notificar al remitente de cuando un mensaje suyo no ha sido aprobado.

 esdg9

Opciones de correo electrónico, desde este apartado podemos definir una o varias direcciones de correo electrónico a las que podremos enviar correos a este grupo.

 esdg10

Sugerencia de correo electrónico, desde aquí podemos definir el mensaje que le sale a los usuarios internos de la organización dentro de Microsoft Outlook a la hora de seleccionar el grupo como destinatario. Por ejemplo un mensaje que indique que pueden pasar hasta 3 días hábiles para responder el mensaje.

 esdg11

 Delegación de Grupo, aquí podemos asignar permisos de «enviar como» o enviar «en nombre de» a los usuarios de manera que puedan enviar correos electrónicos utilizando al grupo como remitente.

 esdg12

Configuración utilizando PowerShell

– Lo primero que tenemos que hacer es preparar nuestro entorno para conectarnos a nuestra suscripción de Office365 mediante PowerShell.

– Lo segundo será ejecutar lo siguiente:

New-DistributionGroup -Name «Nombre del Grupo» -DisplayName «Nombre para Mostrar»
-Alias «Alias del Grupo» -PrimarySmtpAddress «Direccion de correo asignada«

– A continuación deberemos agregar los Miembros:

Add-DistributionGroupMember  «Nombre del Grupo» -Member
Usuario@dominio.com -BypassSecurityGroupManagerCheck

– Muy importante, establecer que los remitentes de fuera de la organización puedan enviar correos al grupo:

Set-DistributionGroup «Nombre del Grupo» -RequireSenderAuthenticationEnabled $False

– Podemos también agregar los propietarios del grupo de distribucion:

Set-DistributionGroup -Identity «Nombre del Grupo» –ManagedBy Usario@dominio.com
-BypassSecurityGroupManagerCheck

– Para agregar direcciones adicionales de correo al grupo:

Set-DistributionGroup «Nombre del Grupo» -EmailAddresses SMTP: grupo@dominio.com, alias@dominio.com

-Esconder el grupo de distribucion de la lista global de direcciones:

Set-DistributionGroup «Nombre del Grupo» -HiddenFromAddressListsEnabled $True

Hasta aquí esta guía de Grupos de Distribución en Exchange Online Office365.

Tip: PowerShell interactive for Office365

lunes, 15 de julio de 2013 Sin comentarios

Hi, today i´ll bring you a little tip when working with PowerShell to be made easy and friendly for those who aren’t comfortable with it or don’t want to remember arguments and other stuff when working with Office365. It’s no other thing than the «Out-GridView» modifier. This modifier is not something from out of this world but many people have already asked for something to make PowerShell working a bit easier and enables you to work a bit more GUI and less text based with Cmdlets without the need of remembering arguments and options for each CmdLet letting filter the info with just a few mouse clicks.

For Example, if we run the following CmdLet «Get-Mailbox | Out-GridView» we’ll obtain a list of mailboxes of our Org, including the assigned server for each user, identifier and assigned quota.

If we use it in combination with some other modifiers and/or arguments we can extend the info and play with it adding some filters on screen getting a clear view of what we want. For example on the following sreenshot we’ve run the CmdLet «Get-MsolUser | Get-Member | Out-GridView«:

2777384[1]

Hope you find it useful.

Tip: Powershell interactivo en Office365

lunes, 15 de julio de 2013 Sin comentarios

Buenas, hoy os traigo un pequeño tip a la hora de trabajar con PowerShell para los que no les resulta tan fácil y no quieren acordarse de modificadores y argumentos cuando se trabaja con Office365. no es otro que el modificador «Out-GridView«. Este modificador no es nada del otro mundo pero que poca gente conoce y alguno ya me lo ha preguntado por mail y permite trabajar de forma interactiva con la información que solicitamos sin necesidad de estar escribiendo o adivinando en muchos casos los identificadores para filtrar información en pantalla y de forma amigable en lugar de solo texto.

Por ejemplo, si ejecutamos el comando «Get-Mailbox | Out-GridView» obtendremos un listado de los buzones dados de alta en nuestra organización, incluyendo los servidores asignados a cada usuario y su cuota de almacenamiento así como su identificador.

Si se utiliza en combinación con otros modificadores podremos extender la información y sobre esa información jugar agregando filtros para concretar lo que queremos ver en pantalla, por ejemplo, en la siguiente captura ejecutamos el comando «Get-MsolUser | Get-Member | Out-GridView«:

2777384[1]

Espero que sea de ayuda para muchos.

Categories: IT, Powershell Tags: ,

Mail Forwarding on Office365 with PowerShell

viernes, 7 de junio de 2013 Sin comentarios

exchange_2013

One of Exchange Online functionalities as part of the Office365 suite is the ability to forward mails to another mailbox or smtp address quick and easy using the users Office365 portal. Besides, what happens when you have to do it as an admin on 500 users at a time? it results tedious right?.

well, we can do this quickly with the help of PowerShell with the following commands:

 

 

Forward mails to another mailbox:

Set-Mailbox user@domain.com -ForwardingAddress dest_mailbox@domain.com

Forward mailbox without saving a local copy:

Set-Mailbox user@domain.com -ForwardingAddress dest_mailbox@domain.com -DeliverToMailboxAndForward $false

Forwarding mails to another external mailbox:

Set-Mailbox user@domain.com -ForwardingSmtpAddress ext_mailbox@domain.com

Forwarding mails to another external mailbox without saving a local copy:

Set-Mailbox user@domain.com -ForwardingSmtpAddress ext_mailbox@domain.com -DeliverToMailboxAndForward $false

Apply the forwarding to users in mass:

Get-Mailbox | Where {$_.RecipientType -eq «UserMailbox»} | Set-Mailbox -ForwardingAddress dest_mailbox@domain.com

Apply the forwarding to users to be sent to external users in mass:

Get-Mailbox | Where {$_.RecipientType -eq «UserMailbox»} | Set-Mailbox -ForwardingSmtpAddress ext_mailbox@domain.com

Get forwarding Info of a user:

Get-Mailbox -Identity user@domain.com | fl DeliverToMailboxAndForward, ForwardingAddress, ForwardingSmtpAddress

Remove mail forwarding:

Set-Mailbox user@domain.com -ForwardingAddress $null

Remove mail forwarding sent to an external user:

Set-Mailbox user@domain.com -ForwardingSmtpAddress $null

Remove mail forwarding to users in mass:

Get-Mailbox | Where {$_.RecipientType -eq «UserMailbox»} | Set-Mailbox -ForwardingAddress $null

Remove mail forwarding sent to external users to users in mass:

Get-Mailbox | Where {$_.RecipientType -eq «UserMailbox»} | Set-Mailbox -ForwardingSmtpAddress $null

 

To disable the mail forwaring option to users:

Read this post

 

Hope it´s useful.

Reenvio de correos en Office365 con PowerShell

viernes, 7 de junio de 2013 Sin comentarios

exchange_2013

Una de las ventajas que permite Exchange Online como parte de Office365, es la de poder reenviar los correos a otra dirección mediante el portal de cada usuario de una forma sencilla y rápida. Sin embargo, que ocurre cuando queremos hacer esto desde el punto de vista de administrador? tendríamos que hacerlo usuario por usuario. tedioso para 500 usuarios verdad?.

Bien pues podemos agilizar todo este proceso mediante PowerShell con los siguientes comandos:

Reenviar correos a otro buzon:

Set-Mailbox usuario@dominio.com -ForwardingAddress buzon_destino@dominio.com

Reenviar correos a otro buzon sin que queden los mensajes en el usuario:

Set-Mailbox usuario@dominio.com -ForwardingAddress buzon_destino@dominio.com -DeliverToMailboxAndForward $false

Reenviar correos a otro buzon ajeno a nuestra organización:

Set-Mailbox usuario@dominio.com -ForwardingSmtpAddress buzon_destino@dominio.com

Reenviar correos a otro buzon ajeno a nuestra organización sin que queden los mensajes en el usuario:

Set-Mailbox usuario@dominio.com -ForwardingSmtpAddress buzon_destino@dominio.com -DeliverToMailboxAndForward $false

Aplicar reenvio de correo a usuarios de forma masiva:

Get-Mailbox | Where {$_.RecipientType -eq «UserMailbox»} | Set-Mailbox -ForwardingAddress buzon_destino@dominio.com

Aplicar reenvio de correo a usuarios de forma masiva con entrega en usuarios externos:

Get-Mailbox | Where {$_.RecipientType -eq «UserMailbox»} | Set-Mailbox -ForwardingSmtpAddress buzon_destino@dominio.com

Obtener información de reenvio aplicado a un usuario:

Get-Mailbox -Identity usuario@dominio.com | fl DeliverToMailboxAndForward, ForwardingAddress, ForwardingSmtpAddress

Quitar reenvio de correo:

Set-Mailbox usuario@dominio.com -ForwardingAddress $null

Quitar reenvio de correo enviado a un usuario ajeno a nuestra organizacion:

Set-Mailbox usuario@dominio.com -ForwardingSmtpAddress $null

Quitar reenvio de correo a usuarios de forma masiva:

Get-Mailbox | Where {$_.RecipientType -eq «UserMailbox»} | Set-Mailbox -ForwardingAddress $null

Quitar reenvio de correo enviados a usuarios externos a usuarios de forma masiva:

Get-Mailbox | Where {$_.RecipientType -eq «UserMailbox»} | Set-Mailbox -ForwardingSmtpAddress $null

 

Para deshabilitar la opción de reenvio de correos visible a los usuarios:

Leer este articulo

 

Espero que os sirva de algo.

Disable E-Mail forwarding in OWA

viernes, 31 de mayo de 2013 Sin comentarios

owa logo

Hi, a few days ago a client of mine made a petition where he needed to be able to prohibit some users the option to forward their e-mails from Outlook Web App in Exchange Online.

The case is that on an Exchange On-Premises is very easy, but on Exchange Online there´s no visible option to do so but with PowerShell and RBAC it´s posible and wanted to share it with you.

First of all, we need to get our PowerShell environment ready for the use with Office365.

Login to tour Office365 subscription with Admin credentials with the following commands::

$LIveCred = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $LIveCred -Authentication Basic -AllowRedirection
Import-PSSession $Session

Once we´re inside, we must enable Organization Customization in our subscription:

Enable-OrganizationCustomization

Create a new management role taking the base role as a base with the following command:

New-ManagementRole -Name Role_Name -Parent MyBaseOptions

Delete the forwarding attribute of the newly created role:

Set-ManagementRoleEntry Role_Name\Set-Mailbox -Parameters DeliverToMailboxAndForward -RemoveParameter

Create a new policy:

New-RoleAssignmentPolicy Policy_Name

Create a new management role assignment with the created role and policy:

New-ManagementRoleAssignment -Role Role_Name -Policy Policy_Name

Lastly, assign this configuration to the user we want to:

Get-Mailbox user@domain.com | Set-Mailbox -RoleAssignmentPolicy Policy_Name

 

If everything went ok, when the user logs in his Outlook Web App, it will be able to see on the right side the link to enable the e-mail forwarding option (image1), but different than a normal user (image2), the necessary fields to enable the forwarding will not appear (image3):

Image1:

Forwarding_link_owa

Image2:

Forwarding_owa

Image3:

Forwarding_owa_disabled

 

Until next time.

Deshabilitar opcion de reenvio en OWA – Office365

viernes, 31 de mayo de 2013 Sin comentarios

owa logo

Buenas, hace poco tuve una petición de un cliente donde indicaba la necesidad de impedir que los usuarios pudiesen activar la opción de reenvio de correo desde Outlook Web App en Exchange Online.

El caso es que hacerlo en un Exchange On-Premise es muy sencillo, pero en Exchange Online no aparece ninguna opción modificable y por PowerShell junto con el uso de RBAC es posible y quería compartirlo con vosotros.

Primero que nada, tendremos que configurar nuestro entorno de PowerShell para poder conectarnos con Office365.

A continuación iniciamos sesión con credenciales de Administrador mediante lo siguiente:

$LIveCred = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $LIveCred -Authentication Basic -AllowRedirection
Import-PSSession $Session

Una vez iniciada sesión tendremos que habilitar las personalizaciones en nuestra suscripción con el siguiente comando:

Enable-OrganizationCustomization

Después crearemos un nuevo rol de administración tomando como base el rol base existente con el siguiente comando:

New-ManagementRole -Name Nombre_de_rol -Parent MyBaseOptions

Eliminamos el atributo de reenvio de correo del nuevo rol:

Set-ManagementRoleEntry Nombre_de_Rol\Set-Mailbox -Parameters DeliverToMailboxAndForward -RemoveParameter

Creamos una directiva nueva:

New-RoleAssignmentPolicy Nombre_de_Directiva

Damos de alta una asignación de rol de administración con el rol y la directiva creada:

New-ManagementRoleAssignment -Role Nombre_de_rol -Policy Nombre_de_directiva

Y por ultimo asignamos esta configuración al usuario que queramos:

Get-Mailbox usuario@dominio.com | Set-Mailbox -RoleAssignmentPolicy Nombre_de_directiva

 

Si todo va bien, cuando el usuario acceda a su Outlook Web App, podrá ver el enlace en la parte lateral derecha para reenviar el correo (imagen1), pero a diferencia de un usuario normal (imagen2), no aparecerán los campos necesarios para habilitar el reenvio (imagen3):

Imagen1:

Forwarding_link_owa

Imagen2:

Forwarding_owa

Imagen3:

Forwarding_owa_disabled

 

Hasta la Proxima.

Categories: IT, Office 365, Powershell Tags: , , ,

Attaching mailboxes on Outlook with Office365

viernes, 24 de mayo de 2013 Sin comentarios

exchange_2013

On todays post. i´ll explain how to attach Office365 mailboxes inside Microsoft Outlook, either if they´re shared or personal.

For most, the easiest way to do so is using Microsoft Outlook interface, perhaps this results tedious when doing it on many users and is also unefficient because it gives the user the right to remove it without any permission.

To do so, it´s necessary to have our environment ready for Office365 administration with PowerShell and log in with admin credentials with the following code:

$LiveCred = Get-Credential $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $LiveCred -Authentication Basic -AllowRedirection Import-PSSession $Session

Once inside, run the following command (note the Automapping parameter):

Add-MailboxPermission -Identity shared_mailbox@domain.com -User user@domain.com -AccessRights FullAccess -AutoMapping:$true

And we´ll get the following results:

automapping

This way, when we Access Microsoft Outlook, we´ll get the attached mailbox below our personal :

automapping_outlook

Also, note that when accesing the Microsoft Exchange account properties inside Outlook, we will not see any additional mailboxes listed we could remove:

Exchange_account_outlook_opts

 

To remove an attached mailbox, simply run the following command:

Remove-MailboxPermission -Identity shared_mailbox@domain.com -User user@domain.com -AccessRights FullAccess

 

Until next post.

Mapear buzones en Outlook con Office365

viernes, 24 de mayo de 2013 Sin comentarios

exchange_2013

Buenas, en el post de hoy, os explico como mapear buzones de Office365 dentro de Microsoft Outlook, ya sean compartidos o personales.

Para muchos, la forma mas sencilla de hacerlo es mediante la propia interfaz de Microsoft Outlook, sin embargo a pesar de ser tedioso a la hora de hacerlo en un gran numero de usuarios, resulta ineficaz ya que se da al usuario la posibilidad de que pueda quitarlo sin consentimiento.

Para poder llevarlo a cabo, será necesario tener nuestro entorno preparado para la administración de Office365 con PowerShell y acceder a nuestra suscripción con credenciales de administración mediante el siguiente código:

$LiveCred = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $LiveCred -Authentication Basic -AllowRedirection
Import-PSSession $Session

Una vez dentro, ejecutamos el siguiente comando (nótese el parámetro Automapping):

Add-MailboxPermission -Identity buzon_compartido@dominio.com -User usuario@dominio.com -AccessRights FullAccess -AutoMapping:$true

y obtendremos unos resultados parecidos a los siguientes:

automapping

De esta forma cuando accedamos a Microsoft Outlook, veremos el nuevo buzón mapeado justo debajo del nuestro:

automapping_outlook

A diferencia del método GUI de Outlook, si el usuario intenta acceder a la pantalla de las propiedades avanzadas de su cuenta de Exchange, no vera ningún buzón adicional que quitar:

Exchange_account_outlook_opts

 

Para eliminar un buzón mapeado, simplemente ejecutamos el siguiente comando:

Remove-MailboxPermission -Identity buzon_compartido@dominio.com -User usuario@dominio.com -AccessRights FullAccess

 

Hasta la próxima.

GuruXP Repository – April 2013

sábado, 4 de mayo de 2013 Sin comentarios