Búsqueda de sitios web

Administrar Office 365 usando PowerShell


Office 365 incluye dos infraestructuras que se pueden administrar mediante PowerShell: Office 365 y Exchange Online. Cuando utilizamos el término "Office 365", el significado es la parte que sirve como "sobre" para todos los demás servicios/aplicaciones de Office 365.

Esta parte incluye componentes como usuario y objeto de grupo (Windows Azure Active Directory), administración de nombres de dominio, migración de correo, SSO (inicio de sesión único), administración de suscripciones y licencias, etc. En este artículo, revisaremos algunas tareas administrativas populares usando Potencia Shell.

Conéctese a Azure Active Directory

Antes de comenzar, conéctese a Azure Active Directory. Supongamos que no tiene el módulo Azure AD, instálelo primero.

Connect-MsolService

Sección A: Usuarios de Office 365 Administración de contraseñas

Establecer contraseña que nunca expiró para el usuario de Office 365

Sintaxis del comando de PowerShell:

Set-MsolUser -UserPrincipalName <Identity> -PasswordNeverExpires $True

Ejemplo de comando de PowerShell:

Set-MsolUser -UserPrincipalName John@o365info.com -PasswordNeverExpires $True

Deshabilitar la opción La contraseña nunca expiró para el usuario de Office 365

Sintaxis del comando de PowerShell:

Set-MsolUser -UserPrincipalName <Identity> -PasswordNeverExpires $False

Ejemplo de comando de PowerShell:

Set-MsolUser -UserPrincipalName John@o365info.com -PasswordNeverExpires $False

Establecer contraseña que nunca expiró para TODOS los usuarios de Office 365 (Modo masivo)

Sintaxis del comando de PowerShell:

Get-MsolUser | Set-MsolUser -PasswordNeverExpires $True

Establecer una contraseña predefinida para el usuario de Office 365

Sintaxis del comando de PowerShell:

Set-MsolUserPassword -UserPrincipalName <Identity> -NewPassword <Password> -ForceChangePassword $False

Ejemplo de comando de PowerShell:

Set-MsolUserPassword -UserPrincipalName John@o365info.com -NewPassword ww#322x -ForceChangePassword $False

Establecer una contraseña predefinida para usuarios de Office 365 importados desde un archivo CSV

Paso 1: Exportar la cuenta de usuarios de Office 365.

Sintaxis del comando de PowerShell:

Get-MsolUser | Select UserPrincipalName | Export-CSV

Ejemplo de comando de PowerShell:

Get-MsolUser | Select UserPrincipalName | Export-CSV c:\temp\o365users.csv

Paso 2: Establezca una contraseña predefinida.

Sintaxis del comando de PowerShell:

Import-CSV | % {Set-MsolUserPassword -userPrincipalName $_.UserPrincipalName -NewPassword -ForceChangePassword $False}

Ejemplo de comando de PowerShell:

Import-CSV C:\Temp\o365users.csv | % {Set-MsolUserPassword -UserPrincipalName $_.UserPrincipalName -NewPassword AbcAs123 -ForceChangePassword $False}

Cree un nuevo usuario de Office 365 y establezca una contraseña temporal única importando la información desde un archivo CSV

Ejemplo de comando de PowerShell:

Import-Csv -Path C:\Temp\Users.csv| ForEach-Object { New-MsolUser -UserPrincipalName $_.UserPrincipalName -FirstName $_.FirstName -LastName $_.LastName -DisplayName "$($_.FirstName) $($_.LastName)" -Password $_.Password -UsageLocation "US" }

Establecer una contraseña temporal para un usuario específico

Sintaxis del comando de PowerShell:

Set-MsolUserPassword -UserPrincipalName <Identity> -NewPassword -ForceChangePassword $True

Ejemplo de comando de PowerShell:

Set-MsolUserPassword -UserPrincipalName John@o365info.com -NewPassword ww@322x -ForceChangePassword $True

Establecer una contraseña temporal para todos los usuarios de Office 365 (BulkMode)

Sintaxis del comando de PowerShell:

Get-MsolUser | Set-MsolUserPassword -NewPassword -ForceChangePassword $False

Ejemplo de comando de PowerShell:

Get-MsolUser | Set-MsolUserPassword -NewPassword ww#322x -ForceChangePassword $False

Establecer política de contraseñas de Office 365

Sintaxis del comando de PowerShell:

Set-MsolPasswordPolicy -DomainName -NotificationDays -ValidityPeriod

Ejemplo de comando de PowerShell:

Set-MsolPasswordPolicy -DomainName o365info.com -NotificationDays 15 -ValidityPeriod 180

Mostrar la configuración de contraseña para todos los usuarios de Office 365

Sintaxis del comando de PowerShell:

Get-MsolUser | Select UserPrincipalName,PasswordNeverExpires

Mostrar información sobre la política de contraseñas de Office 365

Sintaxis del comando de PowerShell:

Get-MsolPasswordPolicy -DomainName

Ejemplo de comando de PowerShell:

Get-MsolPasswordPolicy -DomainName o365info.com

Sección B: Gestión del nombre principal de usuario (UPN)

Cambiar el nombre de inicio de sesión del usuario “(UPN)” para un usuario específico

Sintaxis del comando de PowerShell:

Set-MsolUserPrincipalname -UserPrincipalName <Identity> -NewUserPrincipalName

Ejemplo de comando de PowerShell:

Set-MsolUserPrincipalname -UserPrincipalName John@o365info.onmicrosoFT.com -NewUserPrincipalName John@o365info.com

Cambie el nombre de inicio de sesión del usuario "(UPN)" para TODOS los usuarios de Office 365, excluya al administrador (BulkMode)

Sintaxis del comando de PowerShell:

Get-MsolUser | Where { -Not $_.UserPrincipalName.ToLower().StartsWith("admin@") } | ForEach { Set-MsolUserPrincipalName -ObjectId $_.ObjectId -NewUserPrincipalName ($_.UserPrincipalName.Split("@")[0] + "@") }

Sección C: Gestión de licencias

Mostrar información sobre el servicio incluido en el plan de licencia específico

Sintaxis del comando de PowerShell:

Get-MsolAccountSku | Where-Object {$_.SkuPartNumber -eq 'ENTERPRISEPACK'} | ForEach-Object {$_.ServiceStatus}

Mostrar información sobre el tipo de licencias disponibles

Sintaxis del comando de PowerShell:

Get-MsolAccountSku

Mostrar información sobre todos los usuarios y su tipo de licencia.

Sintaxis del comando de PowerShell:

Get-MsolUser -All | FT Displayname,Licenses

Mostrar información sobre un plan de licencia específico

Sintaxis del comando de PowerShell:

Get-MsolAccountSku | Where-Object {$_.SkuPartNumber -eq 'ENTERPRISEPACK'}

Mostrar información sobre la suscripción

Sintaxis del comando de PowerShell:

Get-MsolSubscription | FL DateCreated, NextLifecycleDate,SkuPartNumber,Status,TotalLicenses

Mostrar todos los usuarios con licencia

Sintaxis del comando de PowerShell:

Get-MsolUser | Where-Object {$_.isLicensed -like "True"} | FT DisplayName,licenses,islicensed

Mostrar todos los usuarios sin licencia

Sintaxis del comando de PowerShell:

Get-MsolUser | Where-Object {$_.isLicensed -like "False"}

Mostrar información sobre las opciones de licencia asignadas al usuario

Sintaxis del comando de PowerShell:

(Get-MsolUser -UserPrincipalName ).Licenses[0].ServiceStatus

Mostrar información sobre las opciones de licencia asignadas a TODOS los usuarios

Sintaxis del comando de PowerShell:

Get-MsolUser -all | ForEach-Object { "============="; $_.DisplayName; $_.licenses[0].servicestatus }

Licencias masivas: asignar licencia mediante un archivo CSV

Sintaxis del comando de PowerShell:

Import-CSV -Path <Path> | ForEach-Object { New-MsolUser -FirstName $_.FirstName -LastName $_.LastName -UserPrincipalName $_.UserPrincipalName -DisplayName "$($_.FirstName) $($_.LastName)" -LicenseAssignment '' -UsageLocation }

Ejemplo de comando de PowerShell:

Import-CSV -Path C:\Temp\User-lic.csv | ForEach-Object { New-MsolUser -FirstName $_.FirstName -LastName $_.LastName -UserPrincipalName $_.UserPrincipalName -DisplayName "$($_.FirstName) $($_.LastName)" -LicenseAssignment 'o365info:ENTERPRISEPACK ' -UsageLocation US }

Asignar licencia importando desde un archivo + Exportar a archivo y guardar contraseña

Sintaxis del comando de PowerShell:

Import-CSV -Path | ForEach-Object { New-MsolUser -FirstName $_.FirstName -LastName $_.LastName -UserPrincipalName $_.UserPrincipalName -DisplayName "$($_.FirstName) $($_.LastName)" -LicenseAssignment '' -UsageLocation } | Export-Csv -Path -NoTypeInformation

Ejemplo de comando de PowerShell:

Import-CSV -Path C:\Temp\User-lic.csv | ForEach-Object { New-MsolUser -FirstName $_.FirstName -LastName $_.LastName -UserPrincipalName $_.UserPrincipalName -DisplayName "$($_.FirstName) $($_.LastName)" -LicenseAssignment 'o365info:ENTERPRISEPACK ' -UsageLocation US } | Export-Csv -Path c:\temp\users-Password.csv -NoTypeInformation

Asignar licencia para todos los Office 365 que no tienen licencia (BulkMode)

Paso 1: El primer comando mostrará una lista de los tipos de licencia disponibles.

Sintaxis del comando de PowerShell:

Get-MsolAccountSku

Paso 2: El segundo comando se utilizará para asignar la licencia.

Sintaxis del comando de PowerShell:

Get-MsolUser -UnlicensedUsersOnly | Set-MsolUserLicense -AddLicenses <License>

Ejemplo de comando de PowerShell:

Get-MsolUser -UnlicensedUsersOnly | Set-MsolUserLicense -AddLicenses o365info:ENTERPRISEPACK

Asignar servicio específico para usuario de Office 365

Referencia del número de pieza SKU:

  1. ENTERPRISEPACK (Plan Empresa E3)
  2. SUSCRIPCIÓN A OFICINA (Office ProPlus)
  3. MCOSTANDARD (Plan independiente 2 de Skype Empresarial en línea)
  4. SHAREPOINTWAC (Oficina en línea)
  5. SHAREPOINTENTERPRISE (SharePoint en línea)
  6. EXCHANGE_S_ENTERPRISE (Intercambio en línea)
  7. ESCRITORIOWOFFPACK (Office 365 (Plan K2)
  8. SHAREPOINTWAC (Oficina en línea)
  9. SHAREPOINTDESKLESS (Quiosco en línea de SharePoint)
  10. EXCHANGE_S_DESKLESS (Quiosco de Exchange en línea)
  11. EXCHANGEARCHIVE_ADDON (Archivo de Exchange Online para Exchange Online)

    Paso 1: El primer comando mostrará información sobre el servicio que está incluido en el plan de licencia específico.

    Sintaxis del comando de PowerShell:

    Get-MsolAccountSku | Where-Object {$_.SkuPartNumber -eq 'ENTERPRISEPACK'} | ForEach-Object {$_.ServiceStatus}

    Paso 2: El segundo comando creará una variable denominada $OnlyOffice que “contendrá” los valores de todos los servicios deshabilitados además de Office.

    $OnlyOffice = New-MsolLicenseOptions -AccountSkuId -DisabledPlans MCOSTANDARD,SHAREPOINTWAC,SHAREPOINTENTERPRISE,EXCHANGE_S_ENTERPRISE

    Paso 3: El tercer comando asignará una licencia a un usuario utilizando la variable para desactivar todos los demás servicios además del servicio de Office.

    Set-MsolUserLicense -UserPrincipalName -LicenseOptions $OnlyOffice

    Establecer ubicación para usuarios sin licencia

    Get-MsolUser -UnlicensedUsersOnly | Set-MsolUser -UsageLocation US

    Eliminación masiva de usuarios sin licencia

    Sintaxis del comando de PowerShell:

    Get-MsolUser -all | Where-Object {$_.isLicensed -ne "true"}| Remove-MsolUser -Force

    Exportar información sobre usuarios sin Licencia

    Sintaxis del comando de PowerShell:

    Get-MsolUser | Where-Object {$_.isLicensed -like "False"} | Export-CSV

    Ejemplo de comando de PowerShell:

    Get-MsolUser | Where-Object {$_.isLicensed -like "False"} | Export-CSV C:\Temp\Unlicensed-Users.csv -NoTypeInformation

    Sección D: Gestión de la ubicación de uso

    Establecer ubicación de uso para un usuario específico

    Sintaxis del comando de PowerShell:

    Set-MsolUser -UserPrincipalName -UsageLocation

    Ejemplo de comando de PowerShell:

    Set-MsolUser -UserPrincipalName user@o365info.com -UsageLocation US

    "Reparar" la ubicación de uso para los usuarios de Office 365

    Sintaxis del comando de PowerShell:

    Get-MsolUser | Where-Object {$_.usagelocation -ne ""} | Set-MsolUser -UsageLocation ""

    Ejemplo de comando de PowerShell:

    Get-MsolUser | Where-Object {$_.usagelocation -ne "US"} | Set-MsolUser -UsageLocation "US"

    Establecer ubicación de uso para usuarios de Office 365 sin licencia

    Sintaxis del comando de PowerShell:

    Get-MsolUser -UnlicensedUsersOnly | Set-MsolUser -UsageLocation

    Ejemplo de comando de PowerShell:

    Get-MsolUser -UnlicensedUsersOnly | Set-MsolUser -UsageLocation US

    Establecer ubicación de uso para usuarios de un departamento específico

    Sintaxis del comando de PowerShell:

    Get-MsolUser | Where {$_.Department -eq ""} |Set-MsolUser -UsageLocation

    Ejemplo de comando de PowerShell:

    Get-MsolUser | Where {$_.Department -eq "mrkt"} |Set-MsolUser -UsageLocation US

    Sección E: Mostrar y exportar información sobre el entorno de Office 365

    Mostrar una lista de usuarios de Office 365

    Sintaxis del comando de PowerShell:

    Get-MsolUser

    Mostrar una lista de administradores globales de Office 365

    Sintaxis del comando de PowerShell:

    Get-MsolRoleMember -RoleObjectId .ObjectId | Select DisplayName,EmailAddress

    Ejemplo de comando de PowerShell:

    Get-MsolRoleMember -RoleObjectId "Company Administrator".ObjectId | Select DisplayName,EmailAddress

    Mostrar lista de servicios asignados al usuario

    Sintaxis del comando de PowerShell:

    Get-MsolUser -all | ForEach-Object { "============="; $_.DisplayName; $_.licenses[0].servicestatus }

    Mostrar lista de usuarios y su licencia actual

    Sintaxis del comando de PowerShell:

    Get-MsolUser | Where-Object {$_.isLicensed -eq "TRUE"} | Select Displayname,Licenses

    Encuentre usuarios UPN con un sufijo de nombre de dominio específico

    Sintaxis del comando de PowerShell:

    Get-MsolUser -DomainName | FT UserPrincipalName

    Ejemplo de comando de PowerShell:

    Get-MsolUser -DomainName o365info.com | FT UserPrincipalName

    Mostrar una lista de usuarios de un departamento específico

    Sintaxis del comando de PowerShell:

    Get-MsolUser | Where {$_.Department -eq ""}

    Ejemplo de comando de PowerShell:

    Get-MsolUser | Where {$_.Department -eq "Mrkt"}

    Exportar lista de usuarios y su licencia a un archivo CSV

    Sintaxis del comando de PowerShell:

    Get-MsolUser | Where-Object {$_.isLicensed -eq "TRUE"} | Select Displayname,Licenses

    Ejemplo de comando de PowerShell:

    Get-MsolUser | Where-Object {$_.isLicensed -eq "TRUE"} | Select Displayname,Licenses > c:\temp\Licenses.txt

    Exportar información sobre el buzón de correo de los usuarios de Office 365 a un archivo CSV | Exportar lista de todos los usuarios de Office 365

    Sintaxis del comando de PowerShell:

    Get-MsolUser | Select DisplayName,FirstName,LastName,UserPrincipalName,MobilePhone,PhoneNumber,Office,Fax,StreetAddress,PostalCode,City,Country,State,Department,IsLicensed,PreferredLanguage,Title,UsageLocation | Export-CSV

    Exportar información sobre el buzón de correo de los usuarios de Office 365 a un archivo CSV | Exportar lista de todos los usuarios de Office 365 con Licencia

    Sintaxis del comando de PowerShell:

    Get-MsolUser | Where-Object {$_.isLicensed -eq "TRUE"} | Export-CSV

    Exportar información sobre el buzón de correo de los usuarios de Office 365 a un archivo CSV | Exportar lista de todos los usuarios de Office 365 sin licencia

    Sintaxis del comando de PowerShell:

    Get-MsolUser -UnlicensedUsersOnly | Export-CSV

    Exportar lista de usuarios de o365 UPN + dirección de correo electrónico a un archivo HTML

    Sintaxis del comando de PowerShell:

    $htstyle = "Get-MsolUser | Select UserPrincipalName,FirstName,LastName,DisplayName,@{Name="ProxyAddresses";Expression={$_.ProxyAddresses | ForEach-Object {$_.tostring() + "`n"}}} | ConvertTo-Html -head $htstyle -Body "Office 365 users list" | Out-File c:\temp\o365users.htm

    Sección F: Papelera de reciclaje de Office 365

    Eliminar cuenta de usuario de Office 365

    Sintaxis del comando de PowerShell:

    Remove-MsolUser -UserPrincipalName

    Ejemplo de comando de PowerShell:

    Remove-MsolUser -UserPrincipalName John@o365info.com

    Eliminar cuenta de usuario de Office 365 sin licencia (BulkMode)

    Sintaxis del comando de PowerShell:

    Get-MsolUser -all | Where-Object {$_.isLicensed -ne "true"}| Remove-MsolUser -Force

    Restaurar la cuenta de usuario eliminada utilizando el UPN de usuario

    Sintaxis del comando de PowerShell:

    Restore-MsolUser -UserPrincipalName -AutoReconcileProxyConFLicts -NewUserPrincipalName

    Ejemplo de comando de PowerShell:

    Restore-MsolUser -UserPrincipalName user1@o365info.com -AutoReconcileProxyConFLicts -NewUserPrincipalName user1@o365info.com

    Restaurar la cuenta de usuario eliminada mediante el GUID de usuario

    Sintaxis del comando de PowerShell:

    Restore-MsolUser -ObjectId -AutoReconcileProxyConFLicts -NewUserPrincipalName

    Ejemplo de comando de PowerShell:

    Restore-MsolUser -ObjectId b9e82087-ad92-4632-a219-d779c29d2edd -AutoReconcileProxyConFLicts -NewUserPrincipalName user1@o365info.com

    Eliminar (eliminar) una cuenta de usuario específica de la papelera de reciclaje

    Sintaxis del comando de PowerShell:

    Remove-MsolUser -ObjectId -RemoveFromRecycleBin -Force

    Ejemplo de comando de PowerShell:

    Remove-MsolUser -ObjectId b9e82087-ad92-4632-a219-d779c29d2edd -RemoveFromRecycleBin -Force

    Eliminar (eliminar) TODAS las cuentas de usuario de la papelera de reciclaje (BulkMode)

    Sintaxis del comando de PowerShell:

    Get-MsolUser -ReturnDeletedUsers | Remove-MsolUser -RemoveFromRecycleBin -Force

    Mostrar una lista de TODAS las cuentas de usuario eliminadas

    Sintaxis del comando de PowerShell:

    Get-MsolUser -ReturnDeletedUsers | FL UserPrincipalName,ObjectID

    Mostrar información sobre una cuenta de usuario eliminada específica

    Sintaxis del comando de PowerShell:

    Get-MsolUser -ReturnDeletedUsers -SearchString | FL UserPrincipalName, ObjectID

    Ejemplo de comando de PowerShell:

    Get-MsolUser -ReturnDeletedUsers -SearchString user1@o365info.com | FL UserPrincipalName,ObjectID

    Eliminar cuenta de usuario de Office 365

    Sintaxis del comando de PowerShell:

    Remove-MsolUser -UserPrincipalName

    Ejemplo de comando de PowerShell:

    Remove-MsolUser -UserPrincipalName John@o365info.com

    Artículos relacionados