Friday, March 17, 2017

Administer Office 365 with Windows PowerShell - an introduction

Administer Office 365 with Windows PowerShell - an introduction

Objective

The goal of this lab is to gain an understanding of how to use PowerShell to administer Office 365. You will learn the basics of using both the PowerShell console and ISE, and will execute commands that change settings in Office 365. 

After completing this lab, you will be better able to:
  • Run cmdlets that change settings in Azure Active Directory
  • Run cmdlets that change settings in Exchange Online
  • Run cmdlets that change settings in SharePoint Online
  • Modify and run a script file that executes a series of commands for updating Office 365

Scenario

In this lab, you will learn how to use PowerShell to administer an Office 365 tenant and change settings in Azure Active Directory, Exchange Online, and SharePoint Online. 

TECHNOLOGIES
  • Microsoft® Office 365
  • PowerShell
AUDIENCE
  • Office 365 Administrators
Estimated time to complete this lab: 30 minutes

Virtual Machines

  1. Ignite2015-DC
  2. Ignite2015-EXCH
  3. Ignite2015-SP
  4. Ignite2015-SPAF
  5. Ignite2015-WAC
  6. Ignite2015-Win81Client

Exercise 1 : Getting Started

In this exercise you will:
  • Connect to Tenant home page
  • Delete a site collection
  • Modify CSV files
  • Remove licenses for user accounts
  1. Connect to Ignite2015-Win81Client
    Switch to Ignite2015-Win81Client by clicking on the Switch to Machine icon to the left of the Done button. You should be logged in as Garth Fort.  If not, sign out and sign back in as CONTOSO\GarthF with a Password of pass@word1.
    You can also select the machine using the Machines tab.
  2. Update CSV File
    In the lab interface, select the Machines tab.  In the DVD drop menu, select IDL2087 Lab Files.  Open File Exlorer and navigate to the D drive.  Copy the AdminHOL_ExistingUsers.csv file.  Navigate to the C:\HOLs\HOL2103 folder and paste the document, replacing the original.   Close File Explorer.
    Before beginning the lab, we need to update the CSV file that is currently in the VM.  In this step, we will mount an ISO file as a virtual DVD.  We will then copy the CSV file from the D drive and paste it to replace the original file.  This file will be used later in this exercise.
  3. Open Tenant Home Page
    Start Internet Explorer and log on to your tenant home page using these credentials:  https://.sharepoint.com
    Username:  admin@.onmicrosoft.com
    Password:  pass@word1
  4. Open App (Admin)
    On the top navigation bar, click App Launcher (window icon ), and then click Admin.
    In the browser session, you will need to delete a site collection in preparation for a later task.  You will accomplish this is steps 4 through 9.
  5. Dismiss Update Page
    If prompted, on the update your admin contact info page, click cancel.   You may see this again during the lab. If so, dismiss it by clicking on cancel.
  6. Dismiss Welcome Tutorial
    Complete or dismiss the Welcome tuturial.
  7. Open SharePoint Admin Center
    In the left navigation, in the Admin area, click SharePoint.
  8. Delete Site Collection (Contosobeta)
    In the SharePoint admin center, on the site collections page, select the check box to the left of the https://.sharepoint.com/sites/contosobeta site collection and then, in the ribbon, click Delete.
  9. Confirm Deletion
    In the delete site collections dialog, click Delete to confirm that you want to send this site collection to the recycle bin.
  10. Open File
    On the taskbar, click File Explorer and navigate to C:\HOLs\HOL2103.  Double-click the file AdminHOL_ExistingUsers.csv to open it in Excel 2013.
    You will also need to modify a few local CSV files in order to run certain PowerShell commands against the Office 365 tenant that was provided. To update these files you will perform steps 10 through 14.
  11. Edit File (AdminHOL_ExistingUsers)
    In the ribbon, on the Home tab, in the Editing group, click Find & Select, and then click Replace.   In the Find what box, type .   In the Replace with box, type the name of your tenant (for example, LODSXXXX).  Click Replace All, and then click OK in the dialog confirming the number of replacements and then click Close.
  12. Save File
    Save your changes, preserving CSV format, and then close Excel 2013.
  13. Edit File (AdminHOL_NewGroups)
    Repeat steps 10 through 12 for c:\HOLs\HOL2103\AdminHOL_NewGroups.csv.
  14. Edit File (AdminHOL_NewUsers)
    Repeat steps 10 through 12 for c:\HOLs\HOL2103\AdminHOL_NewUsers.csv. Close File Explorer.
  15. Open PowerShell (as Admin)
    On the Windows Start screen, right-click Windows PowerShell and click Run as administrator.
    Finally, you will need to run a PowerShell command to remove licenses for certain user accounts, thus allowing you to add new licensed accounts in a later task.  You will accomplish this in steps 15 through 19.
  16. Provide Credentials
    If a User Account Control dialog appears and prompts for credentials, use contoso\Administrator and pass@word1, and then click Yes to continue.
  17. Connect-MsolService
    In the PowerShell console, type Connect-MsolService, and then press Enter. When prompted for credentials, enter the same username and password you used to sign into Office 365 in the browser session(admin@.onmicrosoft.com), and then click OK.
    Watch for the Type Text icon!!

    To have the text automatically typed for you, position the cursor where you want the text to be entered and click the Type Text icon to the left of the Done button in the lab interface.  After the text is typed, press Enter.

    This capability is available whenever the Type Text icon is visible.
    Connect-MsolService
  18. Remove Licenses
    In the console, enter the command shown in the Alert icon, and then press Enter.   Note:  Don't forget to use the Type Text feature.
    Import-Csv -Path c:\HOLs\HOL2103\AdminHOL_ExistingUsers.csv | ForEach-Object { Set-MsolUserLicense -UserPrincipalName $_.UserPrincipalName -RemoveLicenses $_.License }
    Import-Csv -Path c:\HOLs\HOL2103\AdminHOL_ExistingUsers.csv | ForEach-Object { Set-MsolUserLicense -UserPrincipalName  $_.UserPrincipalName -RemoveLicenses $_.License }
  19. Close PowerShell
    Close the PowerShell console.   You are now ready to proceed with the lab.
Congratulations!

You have successfully:
  • Connected to Tenant home page
  • Deleted a site collection
  • Modified CSV files
  • Removed licenses for user accounts

Click Continue to advance to the next exercise.

Exercise 2 : Learning the Basics of Using PowerShell

In this exercise you will:
  • Use the PowerShell console
  • Understand cmdlet syntax
  • Leverage IntelliSense when executing cmdlets

Scenario:  In this exercise, you will get a basic understanding of PowerShell cmdlets, and learn how to leverage IntelliSense. These tasks are designed to introduce PowerShell syntax and are not specific to any functionality related to Office 365.

If you have previous PowerShell experience, you can skip this exercise, as it simply introduces the console and cmdlet syntax to the lab user.
  1. Open PowerShell (as Admin)
    On the Windows Start screen, right-click Windows PowerShell and click Run as administrator.   NOTE: If a User Account Control dialog appears and prompts for credentials, use contoso\Administrator and pass@word1, and then click Yes to continue.
    Task 1 – Using the PowerShell Console 

    In this task, you will start the PowerShell console and run a simple cmdlet to get version and culture information related to the framework. You will acccomplish this is steps 1 and 2.
  2. Get-Host
    In PowerShell, type Get-Host and press Enter.   Note the version and culture information for the PowerShell framework installed on your computer.
    Get-Host
  3. Get-ExecutionPolicy
    In the PowerShell console, type Get-ExecutionPolicy, and then press Enter. Note the script execution policy of your machine.  NOTE: To set your machine’s script execution policy, you would use the Set-ExecutionPolicy cmdlet.  For more information on how to use that cmdlet, navigate to https://technet.microsoft.com/en-us/library/hh849812.aspx.
    Task 2 – Understanding cmdlet Syntax

    In this task, you will get more familiarity with PowerShell syntax, mainly that cmdlets are verb-noun pairs that execute commands. You will also learn how to get more information about cmdlets, such as a full list of parameters available for use. You will accomplish this in steps 3 through 5.
    Get-ExecutionPolicy
  4. Get-Command -Name Write-*
    Type Get-Command -Name Write-* and press Enter.  Note the list of available cmdlets that start with the “Write” verb. 
    Get-Command -Name Write-*
  5. Get-Help Write-Output
    Type Get-Help Write-Output and press Enter. If prompted to update Help, type and press Enter.  Note the full syntax for the Write-Output cmdlet and the Remarks area, which contains information about help files. NOTE: To cycle through cmdlets already used in the PowerShell console session, use the Up-Arrow and Down-Arrow keys on your keyboard.
    Get-Help Write-Output
  6. Close PowerShell
    Close PowerShell.
  7. Open PowerShell ISE (as Admin)
    On the task bar, right-click Windows PowerShell and click Run ISE as Administrator.   NOTE:  If a User Account Control dialog appears and prompts for credentials, use contoso\Administrator and pass@word1, and then click Yes to continue.
    Task 3 – Leveraging IntelliSense when Executing Cmdlets 

    In steps 6 through 8, you will learn how to use IntelliSense to get a drop-down set of cmdlet options in the PowerShell ISE, which you will explore in greater detail later in this lab.
  8. Use Intellisense
    In the console of the PowerShell ISE, type Write-.   Note how IntelliSense provides a drop-down list of cmdlets that start with the “Write” verb.   Double-click the Write-Output cmdlet.
  9. Complete Command
    Press Space and type “Hello, lab user!” to complete the command, and then press Enter. 7. Note the output written to the console.
    “Hello, lab user!” 
  10. Close PowerShell ISE
    Close PowerShell ISE.
Congratulations!

You have successfully:
  • Used the PowerShell console
  • Reviewed cmdlet syntax
  • Leveraged IntelliSense when executing cmdlets

Click Continue to advance to the next exercise.

Exercise 3 : Using PowerShell to Update Office 365 Service-Level Settings

In this exercise you will:

  • Execute PowerShell cmdlets for Azure Active Directory
  • Execute PowerShell cmdlets for Exchange Online
  • Execute PowerShell cmdlets for SharePoint Online

Scenario:  In this exercise, you will leverage different Office 365 PowerShell modules to run commands against your lab tenant. The tasks will allow you to retrieve data and make updates to settings related to your tenant for Azure Active Directory, Exchange Online, and SharePoint Online.

In this exercise, you will be executing commands for the following scenarios, both of which are typical uses of PowerShell: 
  • You need to run bulk-edit commands (for example, adding multiple user accounts). 
  • You need to run a command that is not supported with the browser UI (for example, permanently deleting a SharePoint Online site collection).
  1. Open PowerShell (as Admin)
    Open PowerShell (as Admin), authenticating as Contoso\administrator with a password of pass@word1.
    Task 1 – Executing PowerShell cmdlets for Azure Active Directory 

    In the steps of this exercise, you will initiate a connection to the Azure Active Directory and then execute a command for adding and licensing user accounts. Here, you will be introduced to importing content from a CSV file as well as piping, the latter of which allows you to run multiple cmdlets in a single console command. Finally, you will run a command that exports a list of licensed users to a CSV file, something that is not supported in the Office 365 Admin Center UI.   NOTE: To execute the steps in this task, the VM was configured with the Microsoft Online Services Sign-in Assistant and the Windows Azure Active Directory Module for Windows PowerShell.  For more information on managing Azure Active Directory with PowerShell, navigate to https://msdn.microsoft.com/en-us/library/azure/jj151815.aspx.
  2. Open Office 365 Portal
    On the Desktop, in the taskbar, click the Internet Explorer icon and navigate to https://portal.microsoftonline.com.  If prompted for credentials, enter your Office 365 username (for example, admin@LODSXXX.onmicrosoft.com) and password (pass@word1), and then click Sign in.
  3. Open Admin Center
    From the online apps list, click the Admin tile. If prompted to update admin contact information, click cancel.
  4. View Active Users
    In the left navigation, click Users and then click Active users.
  5. Connect-MsolService
    Switch to the PowerShell console, type Connect-MsolService, and then press Enter. When prompted for credentials, enter the same username and password you used to sign into Office 365 in the browser session(admin@.onmicrosoft.com), and then click OK.
    Connect-MsolService
  6. Import-CSV
    In the console, type the command shown in the Alert icon.  NOTE:  Make sure to replace  in this command with the actual name of your tenant (for example, LODSxxxx:ENTERPRISEPREMIUM’).  Press Enter and note the list of users, all of whom are identified in a CSV file, which have been added and licensed for your tenant.
    Import-Csv -Path c:\HOLs\HOL2103\AdminHOL_NewUsers.csv | ForEach-Object { New-MsolUser -UserPrincipalName $_.UserPrincipalName -FirstName $_.FirstName -LastName $_.LastName -DisplayName $_.DisplayName -LicenseAssignment ‘:ENTERPRISEPREMIUM’ -UsageLocation ‘US’ }
    Import-Csv -Path c:\HOLs\HOL2103\AdminHOL_NewUsers.csv | ForEach-Object { New-MsolUser -UserPrincipalName $_.UserPrincipalName -FirstName $_.FirstName -LastName $_.LastName -DisplayName $_.DisplayName -LicenseAssignment ‘:ENTERPRISEPREMIUM’ -UsageLocation ‘US’ }
  7. Refresh Active Users
    In the browser session, refresh the Active Users page.
  8. Check Assigned License
    Select the check box to the left of Bryant Place and note the assigned license in the area to the right.  Close the User property page.
  9. Generate Active User List
    In the console, type the following command, and then press Enter:  Get-MsolUser | Where-Object { $_.isLicensed -eq “TRUE” } | Export-Csv c:\HOLs\HOL2103\LicensedUsers.csv.   NOTE: The Office 365 Admin Center UI does not support exporting a list of licensed users.
    Get-MsolUser | Where-Object { $_.isLicensed -eq “TRUE” } | Export-Csv c:\HOLs\HOL2103\LicensedUsers.csv
  10. Open Active User List
    On the Desktop, in the taskbar, click File Explorer and navigate to C:\HOLs\HOL2103.  Double-click LicensedUsers.csv to open it in Excel 2013 and view a list of users licensed for your tenant, including the newly-added Bryant Place.  Close Excel.
  11. Create Alias (Get-Credential)
    In the PowerShell console, type $adminCredentials = Get-Credential, and then press Enter.  When prompted for credentials, enter the same username and password you used to sign into Office 365 in the browser session, and then click OK.
    Task 2 – Executing PowerShell cmdlets for Exchange Online

    In steps 11 through 19, you will first create a remote PowerShell session to Exchange Online by entering credentials, providing the required connection settings, and then importing the Exchange Online cmdlets into your local session. You will then leverage a CSV file for bulk-adding distribution groups.
    $adminCredentials = Get-Credential
  12. Create Alias (New-PSSession)
    Type the following command, and then press Enter:  $session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $adminCredentials -Authentication Basic -AllowRedirection
    $session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $adminCredentials -Authentication Basic -AllowRedirection
  13. Connect PSSession
    Type Import-PSSession $session, and then press Enter.  NOTE:  You may receive a warning indicating that some of the commands include unapproved verbs.  That warning can be ignored.
    Import-PSSession $session
  14. Open Exchange Admin Center
    In the browser session, in the left navigation, in the Admin area, click Exchange.
  15. Open Groups
    In the recipients area, click groups.
  16. View Groups
    View the existing groups.
  17. Import Groups
    In the PowerShell console, type the following command, and then press Enter:
    Import-Csv -Path c:\HOLs\HOL2103\AdminHOL_NewGroups.csv | ForEach-Object { New-DistributionGroup -Name $_.GroupName -DisplayName $_.GroupDisplayName -PrimarySmtpAddress $_.EmailAddress }
    Import-Csv -Path c:\HOLs\HOL2103\AdminHOL_NewGroups.csv | ForEach-Object { New-DistributionGroup -Name $_.GroupName -DisplayName $_.GroupDisplayName -PrimarySmtpAddress $_.EmailAddress }
  18. View New Groups
    In the browser session, just above the Display Name column header, click the Refresh icon to see the new Marketing Campaigns and Project Phoenix distribution groups.
  19. Disconnect PSSession
    In the console, type Remove-PSSession $session, and then press Enter.  NOTE: This command will disconnect the remote PowerShell session. If you close the console without disconnecting the session, you could use up all the remote PowerShell sessions available to you, and then you would need to wait for the sessions to expire.
    Remove-PSSession $session
  20. Open Admin
    In the browser session, click the app launcher and then click Admin.   Click SharePoint.   View/Close the Welcome page.
    Task 3 – Executing PowerShell cmdlets for SharePoint Online

    In steps 20 through 25, you will start by initiating a connection to the SharePoint Online service. Then, you will run a cmdlet that permanently removes a site collection from the recycle bin, something that is not supported with the SharePoint Admin Center in Office 365.

    NOTE:  To execute the steps in this task, the VM was configured with the SharePoint Online Management Shell. For more information on how to set up the SharePoint Online Management Shell, navigate to https://technet.microsoft.com/en-us/library/fp161372.aspx.
  21. Connect to SPO Service
    In the PowerShell console, type Connect-SPOService https://-admin.sharepoint.com, and then press Enter.  NOTE:  Make sure to replace  in this command with the actual name of your tenant (for example, ‘https:// LODSXXX-admin.sharepoint.com’).  When prompted for credentials, enter the same username and password you used to sign into Office 365 in the browser session, and then click OK.
    Connect-SPOService https://-admin.sharepoint.com
  22. View Recycle Bin
    In the browser session, in the ribbon, click Recycle Bin and note that the https://.sharepoint.com/sites/contosobeta site collection has already been deleted.  NOTE:  You moved this site collection to the recycle bin as part of Getting Started steps being run Exercise 1.
  23. Remove Site from Recycle Bin
    In the console, type Remove-SPODeletedSite –Identity https://.sharepoint.com/sites/contosobeta and press Enter.  NOTE: Make sure to replace in this command with the actual name of your tenant (for example, https://LODSXXX.sharepoint.com/sites/contosobeta).  At the confirmation prompt, type y, and then press Enter.
    Remove-SPODeletedSite –Identity https://.sharepoint.com/sites/contosobeta
  24. Reefresh Recycle Bin
    In the browser session, refresh the Recycle Bin page to show that the https://.sharepoint.com/sites/contosobeta site collection has been permanently deleted.
  25. Close PowerShell
    Close the PowerShell console.
Congratulations!

You have successfully:
  • Executed PowerShell cmdlets for Azure Active Directory
  • Executed PowerShell cmdlets for Exchange Online
  • Executed PowerShell cmdlets for SharePoint Online

Click Continue to advance to the next exercise.

Exercise 4 : Using the PowerShell ISE and Script Files

In this exercise you will:
  • Set and use variables
  • Read inputs from the host
  • Write output messages to the host
  • Use Try-Catch to handle errors

Scenario:  In this exercise, you will start with an existing PowerShell script file that contains a series of commands designed to undo most of the changes you made in Exercise 2. Using the PowerShell Integrated Scripting Environment (ISE), you will update that script file to use variables, host inputs, host outputs, and try-catch blocks for error handling. Then, you will run the updated script file and, when completed, check your Office 365 tenant to ensure configuration changes were indeed made.
  1. Open PowerShell ISE
    Open PowerShell ISE and authenticate as contoso\administrator and a password of pass@word1.
    Task 1 – Setting and Using Variables

    In steps 1 through 7, you will start the PowerShell ISE application and modify a script file that has been designed to undo some of the changes you made in Exercise 3. Here, you will set the tenantName variable to the actual name of your lab tenant and then reference that variable elsewhere in the script file.
  2. Open File
    In the PowerShell ISE, click the File menu, and then click Open.  Navigate to C:\HOLs\HOL2103, and then double-click AdminHOL_Configuration.ps1.
  3. Edit Variable ($tenantName)
    In the designer window, go to Line 19, where the tenantName variable has been initialized as an empty string.  NOTE:  You can press Ctrl+G to go to a specific line number in the designer window.  Within the double-quote characters on that line, type the name of your lab tenant (for example, $tenantName = “LODSXXX”).
  4. Edit Variable ($sharepointAdminCenterUrl)
    Go to Line 25.  For the sharepointAdminCenterUrl variable, within the double-quote characters, replace yourtenantname with $tenantName.  NOTE:  If you type $t and then press Tab, the $tenantName reference will be completed automatically.
  5. Edit Variable ($sharepointRootSite)
    Repeat step 4 for $sharepointRootSite on Line 26.
  6. Edit Variable ($adminUserAccount)
    Repeat step 4 for $adminUserAccount on Line 27.
  7. Save File
    Click the Save icon in the toolbar to save your changes to the script file.
  8. Edit Variable ($password)
    In the designer window, go to Line 22.  For the password variable, delete the double-quote characters and copy-and-paste the following command after the = character:  Read-Host -Prompt "Enter the password for the tenant's admin account" -AsSecureString
    Task 2 – Reading Inputs from the Host

    In steps 8 through 10, rather than use hard-coded values for the tenant name and password, you will accept those values as inputs from the host. The corresponding inputs will then be used to set the tenantName and password variables, respectively.
    Read-Host -Prompt "Enter the password for the tenant's admin account" -AsSecureString
  9. Edit Variable ($tenantName)
    Return to Line 19.  For the tenantName variable, delete the hard-coded tenant name you typed in the previous task, along with the double-quote characters.  Type the following command after the = character:  Read-Host -Prompt "Enter the name of your tenant (e.g., 'LODSXXX')"
    Read-Host -Prompt "Enter the name of your tenant (e.g., 'LODSXXX')"
  10. Save File
      Click the Save icon in the toolbar to save your changes to the script file.
  11. Configure Write-Host (Connecting to...)
    In the designer window, go to Line 35, an empty line that precedes the command for connecting to the Azure Active Directory.  On the empty line, type the following command:  Write-Host "Connecting to the Azure Active Directory..."
    Task 3 – Writing Output Messages to the Host

    In steps 11 through 13, you will use the Write-Host cmdlet to write status information to the host. In the existing script file, a message output in green font indicates that a command was successfully executed, while a message output in red font indicates than an error was detected when trying to execute a command.
    Write-Host "Connecting to the Azure Active Directory..."
  12. Configure Write-Host (Successfully connected...)
    Go to Line 37, an empty line that follows the command for connecting to the Azure Active Directory.  On the empty line, type the following command:  Write-Host "Successfully connected to the Azure Active Directory" -ForegroundColor "green"

    NOTE: The script file uses green throughout to indicate successful status messages and red throughout to indicate errors in executing commands.
    Write-Host "Successfully connected to the Azure Active Directory" -ForegroundColor "green"
  13. Save File
    Click the Save icon in the toolbar to save your changes to the script file.
  14. Begin Try Block
    In the designer window, go to Line 46, the empty line that precedes the series of commands that connect you to the Exchange Online service.  On that line, type Try { to begin a try block.
    Task 4 – Using Try-Catch to Handle Errors

    In this task, you will add a try-catch block for the series of commands that connect to the Exchange Online service, as a means of ensuring that there is error handling associated with those commands. In the catch block, a Write-Host cmdlet is included for any error that is detected.
    Try {
  15. End Try Block
    Go to Line 51, the empty line that follows the series of commands that connect you to the Exchange Online service.
    On that line, type } to complete the try block, and then press Enter.
    }
  16. Add Catch
    On Line 52, the empty line where the cursor is positioned, type the following catch block:
    Catch {
        Write-Host "Unable to connect to the Exchange Online service because of an unknown error" -ForegroundColor "red"
    }
    Catch {
         Write-Host "Unable to connect to the Exchange Online service because of an unknown error" -ForegroundColor "red"
     }
  17. Save File
    Click the Save icon in the toolbar to save your changes to the script file.  NOTE:  If you want to see what the final version of the script file should look like, open C:\HOLs\HOL2103\AdminHOL_Configuration - Final.ps1 in Notepad.
  18. Run Script
    In the PowerShell ISE, click the File menu, and then click Run to execute the updated script file.
  19. Enter Tenant Name
    In the console window, type the name of your tenant (for example, LODSXXX), and then press Enter.
  20. Enter Password
    In the Input dialog, type the password for your tenant’s admin account (for example, pass@word1) and then click OK.
  21. View Results
    It could take up to five minutes to complete the configuration steps in this script file, with most of that time devoted to the re-provisioning of the https://.sharepoint.com/sites/contosobeta site collection that was permanently deleted earlier. The command prompt will not appear in the console until all commands in the script file have been executed.
  22. View Site Collections
    In the browser session, in the SharePoint Admin Center, in the left navigation, click site collections and note that the https://.sharepoint.com/sites/contosobeta site collection has been re-provisioned.
  23. OPTIONAL: View Deletions (User and Groups)
    Navigate to other areas of the Office 365 Admin Center to confirm that user accounts and distribution groups have been removed.
Congratulations!

You have successfully:
  • Task title

Click Continue to close and finalize this lab.

No comments: