Friday, June 12, 2020

Add Guest account users to exchange Global Address list

https://docs.microsoft.com/en-gb/microsoft-365/admin/create-groups/manage-guest-access-in-groups?view=o365-worldwide#add-guests-to-the-global-address-list

Create Exchange online address list

https://docs.microsoft.com/en-us/exchange/email-addresses-and-address-books/address-lists/address-lists?view=exchserver-2019#:~:text=By%20default%2C%20a%20new%20installation,recipients%20in%20the%20Exchange%20organization.

--------------------------------Filter properties------------------------------------------
https://docs.microsoft.com/en-gb/powershell/exchange/recipientfilter-properties?view=exchange-ps

-------------Steps------------------
https://tech.xenit.se/how-to-create-a-custom-address-lists-in-exchange-online/

Get-AddressList
New-AddressList -Name 'Test Address List' -RecipientFilter {((Company -eq 'XYZ'))}

----------Bulk Contact user creation ---------------------
https://docs.microsoft.com/en-us/microsoft-365/compliance/bulk-import-external-contacts?view=o365-worldwide#hide-external-contacts-from-the-shared-address-book

Check specific service plan (Exchange, OneDrive or Yammer) enabled or disabled in office 365 license users with assigned Date


$O365Account = 'admin.sanjiv.kumar@abcabc.onmicrosoft.com'
$O365pw = ConvertTo-SecureString 'Password' -AsPlainText -Force
$O365Credentials = New-Object TypeName System.Management.Automation.PSCredential ArgumentList $O365Account, $O365pw

Connect-AzureAD -Credential $O365Credentials
Connect-MsolService -Credential $O365Credentials
#Log File
$users = Import-Csv 'C:\Temp\Excel data\Data.csv'
Start-Transcript -Path C:\Temp\SOF_Yammer_LicensesReportTranscript_$(get-date -f ddMMyyyy-HHmm).txt -Append
$Datetime= Get-Date -Format dd_MM_yyyy_HH.mm.ss
$LogFileName=([string]::Concat("C:\Temp\SOT_Yammer_Report-" , $Datetime ,".csv"))
New-Item  $LogFileName  -ItemType file

Add-Content $LogFileName -Value ([string]::Concat("User email" +","+ "License Assigned date"))


#$users = Get-MsolUser -all #| Where isLicensed -EQ $true


#Foreach ($employee in $employee_list) 
Foreach ($user in $users)

{
    
    
    $intFlag = 0

    $UserEmailAddress = $user.Email

    $assignedplans = (Get-AzureADuser -ObjectId $UserEmailAddress).assignedplans

    foreach ($assignedplan in $assignedplans)

    {

       # To check the service plan ID look at MS website https://docs.microsoft.com/en-us/azure/active-directory/users-groups-roles/licensing-service-plan-reference#next-steps
         #If (($assignedplan.ServicePlanId -eq "efb87545-963c-4e0d-99df-69c6916d9eb0"))# for Excahnge
         If (($assignedplan.ServicePlanId -eq "7547a3fe-08ee-4ccb-b430-5077c5041653")) #for Yammer
         #If (($assignedplan.ServicePlanId -eq "5dbe027f-2339-4123-9542-606e4d348a72")) #for OneDrive
        
        
        
        {
            If (($assignedplan.CapabilityStatus -eq "Enabled"))

             {
        
                    Write-Host   $UserEmailAddress -ForegroundColor White
                    Add-Content $LogFileName -Value ([string]::Concat($UserEmailAddress) +","+ $($assignedplan.AssignedTimestamp))
           
            }
        }

    }

    

}


Write-Host -ForegroundColor Cyan "`n***** Script completed, please close this window *****"
Stop-Transcript

Wednesday, April 29, 2020

Get the list of Microsoft Teams Coexistence mode (Teams only, Island mode, Skype online)


1
2
3
4
5
6
Import-Module SkypeOnlineConnector
$userCredential = Get-Credential
$sfbSession = New-CsOnlineSession -Credential $userCredential
Import-PSSession $sfbSession

Get-CsOnlineUser | select DisplayName,UserPrincipalName,TeamsUpgradePolicy,TeamsUpgradeEffectiveMode | export-csv C:\Temp\TeamReportfile29.csv -NoTypeInformation

Monday, April 27, 2020

Create a new office 365 application instance for an Auto Attendant and Call Queue


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
#http://hilite.me/
Import-Module SkypeOnlineConnector
Import-PSSession $sfbSession

$userCredential = Get-Credential
$sfbSession = New-CsOnlineSession -Credential $userCredential

#For new application instance for an Auto Attendant
New-CsOnlineApplicationInstance -UserPrincipalName Test.AutoAttendent@test.com -ApplicationId ce933385-9390-45d1-9512-c8d228074e07 -DisplayName "Test Auto Attendent"

#For new application instance for a Call Queue
New-CsOnlineApplicationInstance -UserPrincipalName Test.Queue@test.com -ApplicationId 11cd3e2e-fccb-42ad-ad00-878b93575e07 -DisplayName "Test Call Queue"

Change office 365 user usagelocation using powershell


1
2
3
4
5
6
7
#http://hilite.me/
# Find the Country code from  https://www.iso.org/obp/ui/#search/code/
# Look for column alpha-2 (A2) two-letter country or region code

$userCredential = Get-Credential
Connect-MsolService -Credential $userCredential
Set-MsolUser -UserPrincipalName sanjiv.test@test.com -UsageLocation "FR"

Tuesday, April 7, 2020

How to assign Office 365 Roles using powershell reading CSV file


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Install-Module MSOnline
$AzureAdCred = Get-Credential
Connect-MsolService -Credential $AzureAdCred
Get-MsolRole #Check all the roles
$employee_list = Import-Csv 'C:\Temp\Role\OperationRole.csv'

  foreach ($employee in $employee_list) 
    
    {

    $UserEmailAddress = $employee.Email
    Write-Host $UserEmailAddress

    Add-MsolRoleMember -RoleName 'Guest Inviter' -RoleMemberEmailAddress $UserEmailAddress
    Add-MsolRoleMember -RoleName 'User Account Administrator' -RoleMemberEmailAddress $UserEmailAddress
    Add-MsolRoleMember -RoleName 'Helpdesk Administrator' -RoleMemberEmailAddress $UserEmailAddress
    Add-MsolRoleMember -RoleName 'Service Support Administrator' -RoleMemberEmailAddress $UserEmailAddress
    Add-MsolRoleMember -RoleName 'Directory Readers' -RoleMemberEmailAddress $UserEmailAddress
    Add-MsolRoleMember -RoleName 'Exchange Service Administrator' -RoleMemberEmailAddress $UserEmailAddress
    Add-MsolRoleMember -RoleName 'SharePoint Service Administrator' -RoleMemberEmailAddress $UserEmailAddress
    Add-MsolRoleMember -RoleName 'Lync Service Administrator' -RoleMemberEmailAddress $UserEmailAddress
    Add-MsolRoleMember -RoleName 'Security Reader' -RoleMemberEmailAddress $UserEmailAddress
    Add-MsolRoleMember -RoleName 'Reports Reader' -RoleMemberEmailAddress $UserEmailAddress
    Add-MsolRoleMember -RoleName 'Message Center Reader' -RoleMemberEmailAddress $UserEmailAddress
    Add-MsolRoleMember -RoleName 'Desktop Analytics Administrator' -RoleMemberEmailAddress $UserEmailAddress
    Add-MsolRoleMember -RoleName 'License Administrator' -RoleMemberEmailAddress $UserEmailAddress
    Add-MsolRoleMember -RoleName 'Authentication Administrator' -RoleMemberEmailAddress $UserEmailAddress
    Add-MsolRoleMember -RoleName 'Message Center Privacy Reader' -RoleMemberEmailAddress $UserEmailAddress
    Add-MsolRoleMember -RoleName 'Compliance Data Administrator' -RoleMemberEmailAddress $UserEmailAddress
    Add-MsolRoleMember -RoleName 'Global Reader' -RoleMemberEmailAddress $UserEmailAddress
    Add-MsolRoleMember -RoleName 'Search Administrator' -RoleMemberEmailAddress $UserEmailAddress
    Add-MsolRoleMember -RoleName 'Search Editor' -RoleMemberEmailAddress $UserEmailAddress
    Add-MsolRoleMember -RoleName 'Password Administrator' -RoleMemberEmailAddress $UserEmailAddress
    Add-MsolRoleMember -RoleName 'Groups Administrator' -RoleMemberEmailAddress $UserEmailAddress
    

}

HTML

Script:

JS