Documente Academic
Documente Profesional
Documente Cultură
365
ltima modificacin del tema:2016-03-28
Resumen: Como administrador, debe poder usar PowerShell de Office 365 para administrar
Office 365, en algunos casos de manera ms eficiente y en otros casos por necesidad.
Con el Centro de administracin de Office 365, no solo puede administrar las cuentas de usuario
y licencias de Office 365, sino que tambin puede administrar los productos del servidor de
Office 365: Exchange, Skype Empresarial Online y SharePoint Online. Sin embargo, tambin
puede administrar estos elementos con comandos de Office 365 PowerShell aprovechando las
ventajas que le ofrece un entorno de lenguaje de lnea de comandos y scripting para ganar en
velocidad, automatizacin y funcionalidad.
En este artculo, le mostraremos las formas en que puede usar PowerShell de Office 365 para
administrar Office 365.
PowerShell de Office 365 puede revelar informacin adicional que no puede ver con el
Centro de administracin de Office 365
Office 365 contiene caractersticas que solo pueden configurarse usando PowerShell de
Office 365
PowerShell de Office 365 es excelente para realizar operaciones masivas
PowerShell de Office 365 es excelente en el filtrado de datos
PowerShell de Office 365 facilita imprimir o guardar datos
PowerShell de Office 365 le permite administrar todos los productos de servidor
Antes de empezar, hay que entender que PowerShell de Office 365 es un conjunto de mdulos
para Windows PowerShell, un entorno de lnea de comandos para plataformas y servicios
basados en Windows. Este entorno crea un lenguaje de shell de comandos que se puede ampliar
con mdulos adicionales y ofrece una forma de ejecutar scripts y comandos simples o
complejos. Por ejemplo, despus de instalar los mdulos de PowerShell de Office 365 y
conectarse a la suscripcin de Office 365, puede ejecutar este comando para hacer una lista de
todos los buzones de usuario de Microsoft Exchange Online:
Get-Mailbox
Tambin puede ejecutar este comando para calcular el nmero de elementos de todas las listas
de todos los sitios de todas las aplicaciones web en SharePoint Online:
Get-SPSite -Limit All | Get-SPWeb -Limit All | % {$_.Lists} | ? {$_ -is
[Microsoft.SharePoint.SPDocumentLibrary]} | % {$total+= $_.ItemCount}; $total
Tambin se puede obtener fcilmente la lista de buzones mediante el Centro de administracin
de Office 365, pero el recuento de elementos de todas las listas de todos los sitios de todas las
aplicaciones web no puede realizarse tan fcilmente.
Tenga en cuenta que PowerShell de Office 365 est diseado para aumentar y mejorar su
capacidad de administrar Office 365, no para sustituir el Centro de administracin de Office 365.
Como administrador de Office 365, debe al menos sentirse cmodo al usar PowerShell de Office
365, porque hay algunos procedimientos de configuracin que solo pueden realizarse con
comandos de PowerShell de Office 365. En estos casos, deber comprender cmo hacer lo
siguiente:
Instalar los mdulos de PowerShell de Office 365 (se realiza una sola vez en cada equipo
de administrador).
Conectarse a su suscripcin de Office 365 (se realiza una vez por sesin de PowerShell).
Recopilar la informacin necesaria para ejecutar los comandos de PowerShell de Office
365 necesarios.
El Centro de administracin de Office 365 muestra una gran cantidad de informacin til, pero
eso no significa que muestre toda la informacin posible que Office 365 almacena en usuarios,
licencias, buzones de correo y sitios. Este es un ejemplo de usuarios y grupos en el Centro de
administracin de Office 365:
Para muchos fines, se muestra la informacin que necesita saber. Sin embargo, algunas veces
necesitar ms. Por ejemplo, las licencias de Office 365 (as como las caractersticas de Office
365 disponibles para un determinado usuario) dependen en parte de la ubicacin geogrfica del
usuario. Las directivas y caractersticas que se pueden extender a un usuario que vive en los
Estados Unidos tal vez no sean las mismas que las directivas y caractersticas que se pueden
extender a un usuario que vive en India o en Blgica. Puede usar el Centro de administracin de
Office 365 para determinar la ubicacin geogrfica de un usuario con estos pasos:
1. Haga doble clic en el Nombre para mostrar del usuario.
2. En el panel de presentacin de las propiedades del usuario, haga clic en Detalles.
3. En la pantalla de detalles, haga clic en Detalles adicionales.
4. Desplcese hacia abajo hasta que vea el encabezado Pas o regin:
5. Escriba el nombre para mostrar y la ubicacin del usuario en una hoja de papel, o cpielo
y pguelo en el Bloc de notas.
Debe repetir este procedimiento para cada usuario. Para muchos usuarios, esto puede ser una
tarea tediosa. Con PowerShell de Office 365, puede mostrar esta informacin para todos los
usuarios con el siguiente comando:
Get-MsolUser | Select-Object DisplayName, UsageLocation
Nota:
Este comando requiere que instale el mdulo de Windows Azure Active Directory.
Este es un ejemplo de la pantalla:
DisplayName
----------Zrinka Makovac
Bonnie Kearney
Fabrice Canel
Brian Johnson (TAILSPIN)
Anne Wallace
Alex Darrow
David Longmuir
UsageLocation
------------US
GB
BR
US
US
US
BR
Sugerencia:
La interpretacin de este comando de Office 365 PowerShell es la siguiente:
Se obtienen todos los usuarios de la suscripcin actual a Office 365 (Get-MsolUser), pero
se muestra solo el nombre y la ubicacin de cada usuario (DisplayName Select-Object,
UsageLocation).
Dado que Office 365 PowerShell admite un lenguaje de shell de comandos, puede manipular an
ms la informacin que obtiene del comando Get-MSolUser. Por ejemplo, tal vez le gustara
ordenar estos usuarios segn su ubicacin, agrupando todos los usuarios brasileos, todos los
usuarios de Estados Unidos, etc. Este es el comando:
Get-MsolUser | Select-Object DisplayName, UsageLocation | Sort-Object
UsageLocation, DisplayName
Este es un ejemplo de la pantalla:
DisplayName
----------David Longmuir
Fabrice Canel
Bonnie Kearney
Alex Darrow
Anne Wallace
Brian Johnson (TAILSPIN)
Zrinka Makovac
UsageLocation
------------BR
BR
GB
US
US
US
US
Sugerencia:
La interpretacin de este comando de Office 365 PowerShell es la siguiente:
Se obtienen todos los usuarios de la suscripcin actual a Office 365, pero solo se muestra el
nombre y la ubicacin de cada usuario, y se ordenan primero por ubicacin y luego sus
nombres (Sort-Object UsageLocation, DisplayName).
Tambin puede usar un filtrado adicional. Por ejemplo, si solo quiere ver la informacin sobre los
usuarios que estn en Brasil, use este comando:
Get-MsolUser | Where-Object {$_.UsageLocation -eq "BR"} | Select-Object
DisplayName, UsageLocation
Este es un ejemplo de la pantalla:
DisplayName
----------David Longmuir
Fabrice Canel
UsageLocation
------------BR
BR
Sugerencia:
La interpretacin de este comando de Office 365 PowerShell es la siguiente:
Se obtienen todos los usuarios de la suscripcin actual a Office 365 cuya ubicacin es
Brasil (Where-Object {$_.UsageLocation eq "BR"}) y luego se muestra el nombre y la
ubicacin de cada usuario.
Una nota rpida sobre dominios ms grandes
Si tiene un dominio muy grande, con decenas de miles de usuarios, probar algunos de los
ejemplos que se muestran en este artculo introductorio podra provocar una "limitacin". Esto
significa que, en funcin de algunos factores como la potencia del equipo y el ancho de banda
de red disponible, est intentando hacer demasiado a la vez. Por ello, las grandes
organizaciones quiz quieran dividir algunos de estos comandos de Office 365 PowerShell en
dos comandos. Por ejemplo, este comando nico devuelve todas las cuentas de usuario y
muestra el nombre y la ubicacin de cada usuario:
Get-MsolUser | Select-Object DisplayName, UsageLocation
Esto funciona muy bien en los dominios ms pequeos. No obstante, en una organizacin
grande tal vez tenga que dividirlo en dos comandos: un comando para almacenar la informacin
de la cuenta de usuario en una variable y otro comando para mostrar la informacin que se
necesita:
$x = Get-MsolUser
$x | Select-Object DisplayName, UsageLocation
Sugerencia:
La interpretacin de este conjunto de comandos de Office 365 PowerShell es la siguiente:
Se obtienen todos los usuarios de la suscripcin actual a Office 365 y se almacena la
informacin en una variable denominada $x ($x = Get-MsolUser).
Se muestra el contenido de la variable $x, pero solo se incluye el nombre y la ubicacin de
cada usuario ($x | Select-Object DisplayName, UsageLocation).
Nota:
Este comando requiere que instale el Mdulo de Powershell para Skype Empresarial Online .
Sugerencia:
La interpretacin de este comando de Office 365 PowerShell es la siguiente:
Para configurar nuevas reuniones de Skype Empresarial Online (SetCsMeetingConfiguration), deshabilite permitir a los usuarios annimos obtener la entrada
automtica a reuniones ( AdmitAnonymousUsersByDefault $False), deshabilite la
posibilidad de que los asistentes graben las reuniones ( AllowConferenceRecording
$False) y no designe a todos los usuarios de la organizacin como moderadores (
DesignateAsPresenter "None").
Si cambia de opinin y quiere restaurar la configuracin predeterminada (todos ellos
habilitados), ejecute este comando:
Set-CsMeetingConfiguration -AdmitAnonymousUsersByDefault $True
-AllowConferenceRecording $True -DesignateAsPresenter "Company"
Esto es solo un ejemplo. Hay otros ms. Este es el motivo por el que usted, como administrador
de Office 365, debe sentirse cmodo ejecutando comandos de Office 365 PowerShell.
Nota:
Este comando requiere que instale el Mdulo de Windows PowerShell para SharePoint Online.
Sugerencia:
La interpretacin de este comando de Office 365 PowerShell es la siguiente:
Se obtienen todos los sitios de SharePoint de la suscripcin actual a Office 365 (Get7
SPOSite) y, para cada sitio, se quita a Ken Meyer de la lista de usuarios que pueden tener
acceso a l (ForEach-Object {Remove-SPOUser -Site $_.Url -LoginName
"kenmyer@litwareinc.com"}).
Como le estamos diciendo a Office 365 que quite a Ken Meyer de todos los sitios, incluidos
aquellos a los que no tiene acceso, la visualizacin de este comando mostrar errores para los
sitios a los que actualmente no tiene acceso. Podemos usar una condicin adicional en este
comando para quitar a Ken Meyer solo de los sitios que lo tienen en la lista de inicio de sesin,
pero los errores que aparecern no perjudican a los sitios en s. Este comando puede tardar
unos minutos en ejecutarse en cientos de sitios y ahorra horas de trabajo en el Centro de
administracin de Office 365.
Este es otro ejemplo de operacin masiva. Use este comando para agregar a Bonnie Kearney,
una nueva administradora de SharePoint, para todos los sitios de la organizacin:
Get-SPOSite | ForEach-Object {Add-SPOUser -Site $_.Url -LoginName
"bkearney@litwareinc.com" -Group "Members"}
Sugerencia:
La interpretacin de este comando de Office 365 PowerShell es la siguiente:
Se obtienen todos los sitios de SharePoint de la suscripcin actual a Office 365 y, para cada
sitio, se permite el acceso de Bonnie Kearney agregando su nombre de inicio de sesin al
grupo de integrantes del sitio (ForEach-Object {Add-SPOUser -Site $_.Url -LoginName
"bkearney@litwareinc.com" -Group "Members"}).
City
---San Diego
San Diego
Bloomington
Bloomington
San Diego
Sugerencia:
La interpretacin de este comando de Office 365 PowerShell es la siguiente:
Se obtienen todos los usuarios de la suscripcin acual a Office 365 que tienen un buzn de
correo en las ciudades de San Diego o Bloomington (Where-Object
{$_.RecipientTypeDetails eq "UserMailbox" and ($_.City -eq "San Diego" -or
$_.City -eq "Bloomington")}) y luego se muestra el nombre y la ciudad de cada uno de
ellos (Select DisplayName, City).
Para obtener una lista de todos los buzones de personas que viven en cualquier otro lugar que
no sea Bloomington, este es el comando:
Get-User | Where-Object {$_.RecipientTypeDetails -eq "UserMailbox" -and $_.City
-ne "Bloomington"} | Select DisplayName, City
Este es un ejemplo de la pantalla:
DisplayName
----------MOD Administrator
Alex Darrow
Allie Bellew
Anne Wallace
Aziz Hassouneh
Belinda Newman
Bonnie Kearney
David Longmuir
Denis Dehenne
Garret Vargas
Garth Fort
Janet Schorr
City
---Redmond
San Diego
Bellevue
Louisville
Cairo
Charlotte
San Diego
Waukesha
Birmingham
Seattle
Tulsa
Bellevue
Sugerencia:
La interpretacin de este comando de Office 365 PowerShell es la siguiente:
Se obtienen todos los usuarios de la suscripcin actual a Office 365 que tienen un buzn
que no se encuentra en la ciudad de Bloomington (Where-Object
{$_.RecipientTypeDetails eq "UserMailbox" and $_.City -ne "Bloomington"}) y
luego se muestra el nombre y la ciudad de cada uno de ellos.
Tambin puede usar caracteres comodn en los filtros de Office 365 PowerShell para que
coincidan con una parte del nombre. Por ejemplo, suponga que est buscando una cuenta de
usuario y lo nico que recuerda es que su apellido era Anderson, Henderson o quiz era
Jorgenson.
Puede realizar un seguimiento de ese usuario en el Centro de administracin de Office 365
mediante la herramienta de bsqueda y llevar a cabo tres bsquedas diferentes:
Una para Anderson
Otra para Henderson
Y otra para Jorgenson
Dado que los tres nombres terminan en "son", puede indicar a Office 365 PowerShell que
muestre todos los usuarios cuyo nombre termina en "son". Este es el comando:
Get-User -Filter '{LastName -like "*son"}'
10
Sugerencia:
La interpretacin de este comando de Office 365 PowerShell es la siguiente:
Se obtienen todos los usuarios de la suscripcin actual a Office 365, pero se usa un filtro
que muestra solo los usuarios cuyos apellidos terminan en "son" (Filter '{LastName
like "*son"}'). El * representa cualquier conjunto de caracteres, que son letras en el caso
de los apellidos del usuario.
11
Sugerencia:
La interpretacin de este comando de Office 365 PowerShell es la siguiente:
Se obtienen todos los usuarios de Skype Empresarial Online de la suscripcin actual a
Office 365 (Get-CsOnlineUser), se obtiene solo el nombre de usuario, el UPN y la
ubicacin (Select-Object DisplayName, UserPrincipalName, UsageLocation) y luego se
guarda esa informacin en el archivo CSV denominado C:\Logs\SfBUsers.csv (ExportCsv Path "C:\Logs\SfBUsers.csv" NoTypeInformation).
Tambin puede usar las opciones de PowerShell para guardar esta lista como archivo XML o
como pgina HTML. De hecho, con los comandos de PowerShell adicionales, podra guardarlo
directamente como archivo de Excel, con el formato personalizado que desee.
Tambin puede enviar el resultado de un comando de Office 365 PowerShell que muestra una
lista directamente a la impresora predeterminada de Windows. A continuacin se muestra un
ejemplo:
Get-CsOnlineUser | Select-Object DisplayName, UserPrincipalName, UsageLocation |
Out-Printer
Y este es el aspecto que tendr el documento impreso:
12
Sugerencia:
La interpretacin de este comando de Office 365 PowerShell es la siguiente:
Se obtienen todos los usuarios de Skype Empresarial Online de la suscripcin actual a
Office 365, se obtiene solo el nombre de usuario, el UPN y la ubicacin y luego se enva
dicha informacin a la impresora de Windows predeterminada (Out-Printer).
El documento impreso tiene el mismo formato simple que la visualizacin de la ventana de
comandos de Office 365 PowerShell, pero una vez creado un comando de Office 365 PowerShell
que muestre lo que necesita ver, basta que agregue | Out-Printer al final del comando para
obtener una copia impresa con la que trabajar.
13
Online del Centro de administracin de Skype Empresarial Online y luego intercalar y combinar
esa informacin.
La alternativa es usar un script de Office 365 PowerShell para compilar dicho informe.
El siguiente script de ejemplo es ms complicado que los comandos que hasta ahora hemos
visto en este artculo. Pero muestra la posibilidad de usar PowerShell de Office 365 para crear
vistas de informacin que son muy difciles de obtener de otra forma. Este es el script que
puede compilar y mostrar la lista necesaria:
$x = Get-MsolUser
foreach ($i in $x)
{
$y = Get-Mailbox -Identity $i.UserPrincipalName
$i | Add-Member -MemberType NoteProperty -Name IsMailboxEnabled -Value
$y.IsMailboxEnabled
$y = Get-CsOnlineUser -Identity $i.UserPrincipalName
$i | Add-Member -MemberType NoteProperty -Name EnabledForSfB -Value
$y.Enabled
}
$x | Select-Object DisplayName, IsLicensed, IsMailboxEnabled, EnabledforSfB
Este es un ejemplo de la pantalla:
DisplayName
IsLicensed
-------------------Zrinka Makovac
True
Bonnie Kearney
True
Fabrice Canel
True
Brian Johnson
False
Anne Wallace
True
Alex Darrow
True
David Longmuir
True
Katy Jordan
False
Molly Dempsey
False
IsMailboxEnabled
---------------True
True
True
True
True
True
True
True
True
EnabledForSfB
-------------True
True
True
False
True
True
True
False
False
Sugerencia:
La interpretacin de este script de PowerShell de Office 365 es la siguiente:
Se obtienen todos los usuarios de la suscripcin actual a Office 365 y se almacena la
informacin en una variable denominada $x ($x = Get-MsolUser).
Se inicia un bucle que se ejecuta para todos los usuarios en la variable denominada $x
(foreach ($i in $x)).
Se define una variable denominada $y y se almacena la informacin del buzn de usuario
en ella ($y = Get-Mailbox -Identity $i.UserPrincipalName).
Se agrega una nueva propiedad a la informacin de usuario denominada
IsMailBoxEnabled y esta se establece en el valor de la propiedad IsMailBoxEnabled del
buzn del usuario ($i | Add-Member -MemberType NoteProperty -Name
IsMailboxEnabled -Value $y.IsMailboxEnabled).
Se define una variable denominada $y y se almacena la informacin de Skype Empresarial
Online de usuario en ella ($y = Get-CsOnlineUser -Identity $i.UserPrincipalName).
14
Conectarse a PowerShell de
Office 365
ltima modificacin del tema:2016-03-28
Summary: Connect to your Office 365 organization using PowerShell de Office 365 to perform
Centro de administracin de Office 365 tasks from the command line.
PowerShell de Office 365 lets you to manage your Centro de administracin de Office 365
settings from the command line. Connecting to PowerShell de Office 365 is a simple three-step
process where you install the required software, run the required software, and then connect to
your Office 365 organization. Note that these connection instructions are the same as those in
the topic Manage Azure AD using Windows PowerShell.
15
1. Install the 64-bit version of the Microsoft Online Services Sign-in Assistant: Microsoft
Online Services Sign-in Assistant for IT Professionals RTW.
2. Install the 64-bit version of the Mdulo de Windows Azure Active Directory para Windows
PowerShell: Windows Azure Active Directory Module for Windows PowerShell (64-bit
version).
1. Find and open the Mdulo de Windows Azure Active Directory para Windows PowerShell
by using one of the following methods based on your version of Windows:
o Start menu On the Start menu, enter Azure in the Search programs and
files box.
o No Start menu Search for Azure using any of these methods:
On the Start screen, click an empty area, and type Azure.
On the desktop or the Start screen, press the Windows key+Q. In the
Search charm, type Azure.
On the desktop or the Start screen, move your cursor to the upper-right
corner, or swipe left from the right edge of the screen to show the charms.
Select the Search charm, and enter Azure.
2. In the results, select Mdulo de Windows Azure Active Directory para Windows
PowerShell.
1. In the Mdulo de Windows Azure Active Directory para Windows PowerShell, run
the following command.
2. $UserCredential = Get-Credential
In the Windows PowerShell Credential Request dialog box, type your Office
365 cuenta profesional o educativa user name and password, and then click OK.
3. Run the following command.
4. Connect-MsolService -Credential $UserCredential
16
de Office 365 or the Mdulo de Windows Azure Active Directory para Windows
PowerShell:
(Get-Item
C:\Windows\System32\WindowsPowerShell\v1.0\Modules\MSOnline\Microsoft.Onlin
e.Administration.Automation.PSModule.dll).VersionInfo.FileVersion
If the version number returned is lower than the value 1.0.8070.2, uninstall the Mdulo
de Windows Azure Active Directory para Windows PowerShell, and install the latest
version from the link in Step 1.
If you receive a connection error, see this topic: "Connect-MsolService: Exception of
type was thrown" error.
17
18
1. Haga clic en Inicio, haga clic en Todos los programas, haga clic en Accesorios, haga
clic en Windows PowerShell, haga clic con el botn derecho en Windows
PowerShell y, a continuacin, haga clic en Ejecutar como administrador.
2. Si aparece el cuadro de dilogo Control de cuentas de usuario, haga clic en S para
confirmar que desea ejecutar Windows PowerShell con credenciales de administrador.
Y s, es absolutamente necesario ejecutar Windows PowerShell como administrador. Si no lo
hace, va a obtener un mensaje de error similar al siguiente cuando intente importar uno de los
mdulos de Office 365:
The specified module 'Microsoft.Online.SharePoint.Online.PowerShell' was not
loaded because no valid module file was found in any directory.
Ciertamente, no es el mensaje de error ms claro que se haya escrito: en realidad el problema
no es que el archivo de mdulo no se haya podido encontrar, el problema es que no se puede
importar un mdulo a menos que se ejecute como administrador. La nica manera de remediar
la situacin es cerrar Windows PowerShell y volver a iniciarlo como administrador.
Una vez que Windows PowerShell est en funcionamiento, debe comprobar que PowerShell est
configurado para ejecutar scripts. Para ello, escriba este comando desde el smbolo del sistema
de PowerShell y, a continuacin, presione ENTRAR:
Get-ExecutionPolicy
Por qu es necesario hacer esto? Bueno, si la directiva de ejecucin se establece en algo que
no sea Unrestricted o RemoteSigned, se mostrar un error similar al siguiente cuando intente
importar un mdulo:
Import-Module : File C:\Program Files\Common Files\Microsoft Lync
Server2013\Modules\lynconlineconnector\LyncOnlineConnectorStartup.psm1 cannot be
loaded because running scripts is disabled on this system.
Si necesita cambiar la directiva de ejecucin, use el cmdlet Set-ExecutionPolicy y este comando:
Set-ExecutionPolicy RemoteSigned
Tenga en cuenta que no tiene que salir y reiniciar PowerShell; el cambio se aplicar
inmediatamente.
Nota:
$credential es una variable que va a almacenar el objeto de credenciales. No es necesario que
asigne a la variable el nombre $credential, pero si lo hace ser ms fcil recordar qu variable
contiene el objeto de credenciales. (Y eso es importante, ya que vamos a reutilizar esta variable
muchas veces). Eso tambin har que sea ms fcil seguir nuestros ejemplos, porque en este
artculo siempre se usar $credential para representar el objeto de credenciales.
Windows PowerShell mostrar un cuadro de dilogo con el siguiente aspecto:
19
Asegrese de que la cuenta de usuario que especifica tiene derechos de administrador globales
para Office 365. De lo contrario, su intento de inicio de sesin fracasar.
Tenga en cuenta que, como suele ocurrir, no ver ningn tipo de confirmacin de que se cre el
objeto de credenciales. (Windows PowerShell normalmente indica cundo las cosas salen mal,
pero no siempre lo hace cuando salen bien). Si desea comprobar que el objeto de credenciales
se haya creado, escriba lo siguiente en el smbolo del sistema de Windows PowerShell y, a
continuacin, presione ENTRAR:
$credential
A continuacin, debera ver algo parecido a esto en la pantalla:
20
UserName
-------kenmyer@litwareinc.onmicrosoft.com
Password
-------System.Security.SecureString
Una cosa que hay que tener en cuenta aqu es que el cmdlet Get-Credential solo crea el objeto
de credenciales; no autentica al usuario ni comprueba que el nombre de usuario y la contrasea
proporcionadas sean correctos. Por ejemplo, supongamos que escribi incorrectamente el
nombre de usuario como eknmyer@litwareinc.onmicrosoft.com. Si lo hace, Get-Credential crear
un objeto de credenciales con ese nombre de usuario, sin comprobar que ese realmente sea un
nombre de usuario vlido. No sabr si ha creado un objeto de credenciales realmente vlido
hasta que use dicho objeto para intentar conectarse a Office 365.
A propsito, justamente nos encontramos en esa parte del proceso: estamos listos para
conectarnos a Office 365.
21
simplemente escriba este comando desde el smbolo del sistema de Windows PowerShell y
presione ENTRAR:
Import-Module Microsoft.Online.SharePoint.PowerShell
Nota:
Al hacerlo probablemente aparecer el siguiente mensaje de error en la pantalla:
ADVERTENCIA: Algunos nombres de comando importados del mdulo
'Microsoft.Online.SharePoint.PowerShell' incluyen verbos no aprobados que podran dificultar su
reconocimiento. Para encontrar los comandos con verbos no aprobados, vuelva a ejecutar el
comando Import-Module con el parmetro Verbose. Para obtener una lista de verbos aprobados,
escriba Get-Verb.
Puede ignorar sin problemas esta advertencia. El mensaje aparece porque uno de los cmdlets de
SharePoint Online, Upgrade-SPOSite, usa el verbo Upgrade en su nombre. Dicho verbo no se usa
por lo general en los nombres de cmdlet de Windows PowerShell. Sin embargo, esta desviacin
del estndar de nomenclatura no daar nada y el cmdlet se ejecutar perfectamente.
Para poder conectarse a SharePoint Online, necesita suministrar dos piezas de informacin: sus
credenciales y la direccin URL del sitio de administracin de SharePoint. La parte de las
credenciales es fcil: ya la almacenamos en la variable $credential (consulte Paso 2: Crear un
objeto de credenciales de Windows PowerShell). En cuanto a la direccin URL del sitio de
administracin, tambin es bastante fcil de determinar. Supongamos que su nombre de
dominio de Office 365 es este:
litwareinc.onmicrosoft.com
Para determinar la direccin URL del sitio de administracin, realice lo siguiente:
1. Inicie con el prefijo https://.
2. Agregue la parte correspondiente al host de dominio del nombre de dominio. Por
ejemplo, si su dominio es litwareinc.onmicrosoft.com, el nombre de host de dominio
es litwareinc. Si su nombre de dominio es contoso.onmicrosoft.com, el nombre de host
de dominio es contoso. Etc., etc.
3. Agregue un guion (-) seguido de admin.sharepoint.com: -admin.sharepoint.com.
En otras palabras:
https:// + litwareinc + -admin.sharepoint.com = https://litwareinc-admin.sharepoint.com
Una vez que haya generado la direccin URL, podr usarla junto con el objeto de credenciales
para conectarse a SharePoint Online. Simplemente llame al cmdlet Connect-SPOService usando
un comando similar a este:
Connect-SPOService -Url https://litwareinc-admin.sharepoint.com -credential
$credential
Para comprobar que se ha realizado la conexin, escriba el siguiente comando en el smbolo del
sistema de Windows PowerShell y presione ENTRAR:
Get-SPOSite
Debera obtener una lista de todos sus sitios de SharePoint Online:
Url
Owner
Storage Quota
------------------http://litwareinc-public.sharepoint.com/
1000
https://litwareinc.sharepoint.com/
1000
https://litwareinc.sharepoint.com/search
1000
Pero esta es la mejor parte: sus comandos de Office 365 (los que se describen en Paso 3:
Conexin a Office 365) seguirn funcionando. (Intente ejecutar Get MsolUser y comprubelo
22
usted mismo). Esto significa que ahora puede administrar Office 365 y SharePoint Online desde
la misma instancia de Windows PowerShell. Y eso es bueno. Pero no es suficiente.
23
Script
1.0
tmp_swc5mp4v.1ck
{Copy-CsVoicePolicy, Disabl...
Ahora intente ejecutar Get-CsMeetingConfiguration y vea lo que sucede. Debera obtener algo
similar a esto:
Identity
: Global
PstnCallersBypassLobby
: True
EnableAssignedConferenceType
: False
DesignateAsPresenter
: Company
AssignedConferenceTypeByDefault : True
AdmitAnonymousUsersByDefault
: True
RequireRoomSystemsAuthorization : False
LogoURL
:
LegalURL
:
HelpURL
:
CustomFooterText
:
AllowConferenceRecording
: True
Es ms como esto. Lo nico que falta ahora es hacer que Exchange se agregue a nuestra sesin
de Windows PowerShell.
Nota:
Por qu es el comando para conectar con Exchange ms complicado que el comando para
conectar con Lync Online? Tcnicamente no lo es: ambos comandos hacen exactamente lo mismo.
Sin embargo, el equipo de Lync Online cre su propio cmdlet: New-CsOnlineSession, que oculta
algunos de los parmetros (como Authentication y AllowRedirection) utilizados para conectarse a
Exchange. En lugar de tener que escribir esa informacin manualmente, los parmetros
Authentication y AllowRedirection efectivamente se integran en el cmdlet New-CsOnlineSession.
Deber escribir dichos parmetros cuando se conecte a Exchange porque Exchange usa el
cmdlet New-PsSession estndar para conectarse a Office 365. Cul es la desventaja de esto?
Tiene que escribir un poco ms. Y la ventaja? No tiene que descargar e instalar un mdulo de
Exchange Online.
Cuando se conecte a Exchange Online, ver un mensaje de advertencia similar al siguiente:
WARNING: Your connection has been redirected to the following URI:
"https://pod51035psh.outlook.com/powershell-liveid?PSVersion=4.0"
24
Tampoco tiene que preocuparse sobre ese mensaje: simplemente indica que Office 365 lo ha
autenticado y ha apuntado su sesin hacia su dominio de Office 365. Ahora lo nico que tiene
que hacer es importar esta sesin remota, tal como hicimos con Lync:
Import-PSSession $exchangeSession
Y despus, si todo va bien, ver algo parecido a esto en la pantalla:
WARNING: The names of some imported commands from the module 'tmp_nweiqjvl.geu'
include unapproved verbs that might make them less discoverable. To find the
commands with unapproved verbs, run the Import-Module command again with the
Verbose parameter. For a list of approved verbs, type Get-Verb.
ModuleType Version
---------- ------Script
1.0
Name
ExportedCommands
------------------tmp_nweiqjvl.geu {Add-AvailabilityAddressSpace...
Si el comando se ejecuta correctamente, significa que ahora puede administrar todo Office 365
desde una sola sesin de PowerShell.
25
---------------------------Microsoft.PowerShell Available
Microsoft.Exchange
Available
Para cerrar estas dos sesiones, use estos comandos: el primero para cerrar Lync y el segundo
para cerrar Exchange.
Remove-PSSession $lyncSession
Remove-PSSession $exchangeSession
Si ahora ejecuta el cmdlet Get-PSSession, no debera ver nada en absoluto (a menos que, por
supuesto, tenga otras sesiones remotas en funcionamiento):
Nota:
Si prefiere cerrar todas las sesiones remotas al mismo tiempo, puede usar este comando:
Get-PSSession | Remove-PSSession
Si ahora intenta ejecutar un cmdlet de Lync Online o Exchange Online (por ejemplo, GetCsMeetingConfiguration) debera recibir este mensaje de error:
Get-CsMeetingConfiguration : The term 'Get-CsMeetingConfiguration' is not
recognized as the name of a cmdlet, function, script file, or operable program.
Check the spelling of the name, or if a path was included, verify that the path
is correct and try again.
Recibimos dicho mensaje de error porque se eliminaron los cmdlets de Exchange Online y Lync
Online cuando cerramos las sesiones remotas.
Para cerrar la sesin de SharePoint Online, escriba este comando:
Disconnect-SPOService
De nuevo, parecer que nada sucedi. Pero si intenta ejecutar el cmdlet Get-SPOSite, recibir
este mensaje de error:
get-sposite : No connection available. Use Connect-SPOService before running this
CmdLet.
No puede recuperar la informacin del sitio porque ya no est conectado a SharePoint Online.
En cuanto a su conexin con Office 365, si bien hay un cmdlet Connect-MsolService, no hay un
cmdlet Disconnect-MsolService correspondiente. Por lo tanto, en ese caso, solo tendr que
cerrar la ventana de Windows PowerShell. Sin embargo, sigue siendo buena idea desconectarse
correctamente de SharePoint, Lync y Exchange.
26
Importante:
Solo los administradores globales pueden ver los informes de Portal de Office 365 y Excel. Para
ejecutar los informes de Windows PowerShell, debe disponer del rol de administracin de
organizacin de solo lectura de Exchange, del que suelen disponer los administradores globales.
27
28
Para el informe Sistemas operativos utilizados, los pasos son los mismos pero cambian los
detalles.
1. Copie y pegue este script en el Bloc de notas.
2. $OutputFile = "C:\My Documents\O365ClientOSDetail.csv"
3. $Start = "01/01/14"
4. $End = "01/31/14"
5. $Projection = `
6.
@{Name='USER NAME';Expression={$_.UPN}},`
7.
@{Name='OS';Expression={$_.Name}},`
8.
@{Name='VERSION';Expression={$_.Version}},`
9.
@{Name='DAYS USED';Expression={$_.Count}},`
10.
@{Name='LAST ACCESSED DATE';Expression={$_.LastAccessTime}}
11.
12. Get-O365ClientOSDetailReport -StartDate $Start -EndDate $End `
13.
-ResultSize Unlimited | `
14.
Select $Projection | `
15.
Export-Csv $OutputFile -NoTypeInformation
16. Guarde el script como GetO365ClientOSDetail.ps1 en una ubicacin fcil de encontrar.
En este ejemplo se guardar el archivo en "C:\O365 Scripts".
17. Ejecute el script en Exchange Online PowerShell con el comando siguiente.
18. & "C:\O365 Scripts\GetO365ClientOSDetail.ps1"
La salida del archivo CSV tendr este aspecto:
"USER NAME","OS","VERSION","DAYS USED","LAST ACCESSED DATE"
"john@contoso.onmicrosoft.com","WINDOWS","XP","8","3/20/2014 12:00:00 AM"
"jane@contoso.onmicrosoft.com","WINDOWS","7","15","3/19/2014 11:44:00 PM"
29
Get-MailDetailDlpPolicyReport
Get-MailDetailMalwareReport
Get-MailDetailSpamReport
Get-MailDetailTransportRuleReport
Get-MailFilterListReport
Get-MailTrafficPolicyReport
Get-MailTrafficReport
Get-MailTrafficSummaryReport
Get-MailTrafficTopReport
Get-MessageTrace
Get-MessageTraceDetail
Get-OutboundConnectorReport
Get-RecipientStatisticsReport
Get-ServiceDeliveryReport
Get-StaleMailboxDetailReport
Get-StaleMailboxReport
30
Nota:
Los informes disponibles dependen de la versin de Office 365 que est utilizando y de los
servicios de Office 365 que haya habilitado. Para ms informacin, consulte la pgina de informes.
Los informes predefinidos que se encuentran en el Centro de administracin de Office 365 son
increblemente tiles, sin lugar a dudas. Sin embargo, para algunas organizaciones estos
informes tambin podran tener algunas limitaciones:
Los informes que se encuentran en el Centro de administracin no muestran todos los
datos disponibles. Por ejemplo, el informe buzones activos e inactivos muestra el
nmero actual de buzones activos e inactivos. Qu ocurre si desea ver los buzones
activos e inactivos de hace una semana o un mes? Para bien o para mal, no puede
hacerlo en el Centro de administracin.
El Centro de administracin no incluye todos los informes de Office 365 que estn a su
disposicin. El informe mencionado anteriormente sobre buzones activos e
inactivos le indica cuntos buzones "obsoletos" (inactivos) tiene, pero no indica qu
buzones estn inactivos. Esa informacin est disponible, pero no a travs del Centro de
administracin. (Consulte Informe de MailboxUsageDetail para obtener ms informacin
sobre esta tarea en concreto).
No hay ninguna forma fcil y sencilla de guardar los datos mostrados en los informes del
Centro de administracin.
Est limitado a una vista grfica de los datos y una vista tabular de los datos. No hay
ninguna forma para, digamos, cambiar la presentacin de un grfico de barras a un
grfico circular, o para ocultar algunas de las columnas en la vista de tabla.
Como hemos dicho, los informes del Centro de administracin son un recurso excelente y
facilitan la comprobacin de aspectos como el uso del buzn de correo o el nmero de minutos
que sus usuarios emplean en las conferencias en lnea. Sin embargo, cuando se trata de un
anlisis detallado de su dominio de Office 365, los informes tienen sus limitaciones.
Una forma de evitar estas limitaciones es utilizar otro lenguaje de desarrollo o de Windows
PowerShell para acceder al servicio de generacin de informes de Office 365 y crear informes
31
32
2. En la pgina Conectar a una fuente de datos, escriba la direccin URL del servicio de
generacin de informes
(https://reports.office365.com/ecp/reportingwebservice/reporting.svc/) como
ubicacin de la fuente de datos. Tenga en cuenta que solo puede especificar la direccin
URL base tal como se muestra; no puede agregar ninguna instruccin para Seleccionar,
Filtrar o Formatear. Si escribe cualquier cosa adicional a la URL base no obtendr ningn
dato; en su lugar, simplemente ver el siguiente mensaje de error:
33
Nota:
Es posible seleccionar varios informes; que da como resultado que se agreguen mltiples tablas o
grficos a la hoja de clculo de Excel. Incluso es posible crear una nica tabla/grfico que
combine datos de varios informes. Sin embargo, no lo trataremos en este artculo introductorio.
5. Despus de hacer clic en Siguiente aparecer la pgina Guardar archivo de conexin
de datos y finalizar:
34
Aqu no tiene que introducir ningn tipo de informacin; todo lo que debe hacer para
recuperar sus datos es hacer clic en Finalizar. Sin embargo, cabe sealar que, de forma
predeterminada, Excel guarda informacin acerca de cada conexin de datos que realice;
estos datos se almacenan en la carpeta Mis archivos de origen de datos:
35
Por eso el cuadro de dilogo incluye cuadros de texto con etiquetas como Nombre
descriptivo y Palabras clave de bsqueda; estas opciones le ofrecen la oportunidad
de personalizar estas conexiones de datos. De este modo no terminar con un montn
de orgenes de datos similares a estos:
DataFeed_1_reports-office365-com
DataFeed_1_reports-office365-com
DataFeed_1_reports-office365-com
DataFeed_2_reports-office365-com
DataFeed_2_reports-office365-com
DataFeed_3_reports-office365-com
ClientSoftwareBrowserDetail.odc
MailTrafficTop.odc
Multiple Tables.odc
MailboxActivityWeekly.odc
MailTrafficTop.odc
ClientSoftwareBrowserDetail.odc
36
37
de datos. Eso es porque, sin el nombre de usuario y la contrasea, Office 365 no podr
autenticar el intento de iniciar sesin en el servicio.
Como hemos dicho, es algo que tendr que considerar usted mismo.
6. Haga clic en Finalizar en la pgina Guardar archivo de conexin de datos y
finalizar y aparecer el cuadro de dilogo Importar datos:
38
Lo que haga con estos datos es una decisin exclusivamente suya. Para ver algunas
sugerencias, tambin puede echar un vistazo al artculo Crear un panel de Excel Services con
una fuente de datos OData. Aunque este artculo no utiliza el servicio de generacin de informes
de Office 365, proporciona algunos consejos tiles para tareas como aadir filtros y
segmentaciones en su nuevo panel.
39
Nota:
Para conectarse a la vez a todos los servicios, consulte Conectarse a todos los servicios de
Office 365 en una sola ventana de Windows PowerShell.
40
Nota:
Los cmdlets de informes para otros servicios, como la actividad del usuario de SharePoint Online,
Skype Empresarial Online y Office 365, estn disponibles en Exchange Online PowerShell. Para
obtener ms informacin, consulte Cmdlets de informes en Exchange Online.
Los temas de referencia de los cmdlets de Skype Empresarial Online se encuentran en el rea de
Skype Empresarial Online de la Biblioteca de TechNet. Para ir all, haga clic en Cmdlets de Skype
Empresarial Online.
Para obtener instrucciones de conexin para PowerShell de Skype Empresarial Online, haga clic
en Conectarse a Skype Empresarial Online mediante Windows PowerShell.
Blogs de Office
41
42