Microsoft Graph PowerShell SDK を使用したライセンス管理操作

こちらに対応すべくメモ

jpazureid.github.io

$credential = Get-Credential
Import-Module ExchangeOnlineManagement
Connect-MgGraph -Scopes "Organization.Read.All","User.ReadWrite.All"
Import-Module Microsoft.Graph.Users
Connect-ExchangeOnline -Credential $credential

Import-Csv "C:\PoweShell\NewUsers_202207.csv" | 
    ForEach-Object `
        {`
             New-MgUser `
                -AccountEnabled `
                -CompanyName $_.CompanyName `
                -Department $_.Department `
                -DisplayName $_.DisplayName `
                -GivenName $_.GivenName `
                -EmployeeId $_.EmployeeId `
                -JobTitle $_.JobTitle `
                -MailNickName $_.MailNickName `
                -MobilePhone $_.MobilePhone `
                -PasswordProfile @{"Password" = $_.Password;ForceChangePasswordNextSignIn = $false;forceChangePasswordNextSignInWithMfa = $false} `
                -PasswordPolicies "DisablePasswordExpiration" `
                -Surname $_.Surname `
                -UsageLocation "JP" `
                -UserPrincipalName $_.UserPrincipalName `
         }

$License1 = New-Object -TypeName Microsoft.Graph.PowerShell.Models.MicrosoftGraphAssignedLicense `
                       -Property @{SkuId = "f245ecc8-75af-4f8e-b61f-27d8114de5f3"; DisabledPlans = @("8c7d2df8-86f0-4902-b2ed-a0458298f3b3","39b5c996-467e-4e60-bd62-46066f572726","54fc630f-5a40-48ee-8965-af0503c1386e","0feaeb32-d00e-4d66-bd5a-43b5b83db82c","199a5c09-e0ca-4e37-8f7c-b05d533e1ea2","5bfe124c-bbdc-4494-8835-f1297d457d79","31b4e2fc-4cd6-4e7d-9c1b-41407303bd66","a23b959c-7ce8-4e57-9140-b90eb88a9e97","7547a3fe-08ee-4ccb-b430-5077c5041653")}

Import-Csv -Path "C:\PoweShell\NewUsers_202207.csv" | 
    ForEach-Object `
        {`
            Set-MgUserLicense `
                -UserId $_.UserPrincipalName `
                -AddLicenses @($License1) `
                -RemoveLicenses @() `
}
Import-Csv -Path "C:\PoweShell\NewUsers_202207.csv" | 
    ForEach-Object `
        {`
            Set-User `
            	-Identity $_.UserPrincipalName `
            	-PhoneticDisplayName $_.Furigana `
		}

Import-Csv -Path "C:\PoweShell\NewUsers_202207.csv" | 
    ForEach-Object `
        {`
			Set-MailboxRegionalConfiguration `
				-Identity $_.UserPrincipalName `
				-Language "ja-JP" `
				-DateFormat "yyyy/MM/dd" `
				-TimeFormat "HH:mm" `
				-TimeZone "Tokyo Standard Time" `
				-LocalizeDefaultFolderName `
		}

Import-Csv -Path "C:\PoweShell\NewUsers_202207.csv" | 
    ForEach-Object `
        {`
			Set-MailboxFolderPermission `
			    -Identity $_.Calendar `
			    -User "既定" `
			    -AccessRights LimitedDetails `
		}

#マネージャー
#グループ