オフィス 365 PowerShell コマンドのトップ15 (ユーザー、グループ、ライセンス)。ウィンドウズ PowerShell ユーザーとして、オフィス 365 管理のために PowerShell を使用することが多くのオフィス 365 ユーザーにとって複雑に思われることを認識しています。
しかし、私の経験では、それにもかかわらず、ウィンドウズ PowerShell はオフィス 365 を管理するための非常に便利なツールです。たとえば、オフィス 365 ポータルで利用可能な無数のオプションをひとつずつ調べる代わりに、管理者はコードを数行入力するだけで必要な情報を簡単に取得できます。そのため、オフィス 365 の体験を効率化するのに役立つ便利なコマンドをいくつか学ぶことが重要です。
それを念頭に置いて、Office365のタスクを簡素化するために便利なトップ15のOffice365 PowerShellコマンドを学びましょう。
トップ15のOffice365 PowerShellコマンド(ユーザー、グループ、ライセンス)
画像ソース:Pixabay
1. Microsoft365グループの分類の作成
組織内のユーザーがMicrosoft365グループを作成する際、感度ラベルを割り当てるオプションを提供できます。感度ラベルが有効になると、グループを作成するユーザーは、以前に使用していた分類ラベルにアクセスできなくなることに注意してください。
マイクロソフトは、以前のグループの分類機能の代わりに感度ラベルを使用することを推奨しています。組織内のユーザーが作成するMicrosoft365グループに分類を設定できるようにすることができます。たとえば、ユーザーが作成するグループに「Standard」、「Secret」、「Top Secret」を設定できるようにすることができます。これらは、グループ分類を作成するための適切なAzure Active Directoryコマンドレットです。
以下のコマンドは分類リストを作成します:
$setting["ClassificationList"] = "Low Impact, Medium Impact, High Impact"
設定属性を使用できますClassificationDescriptions各分類を定義するために使用します。構文は次のとおりです:
$setting["ClassificationDescriptions"] ="Classification:Description,Classification:Description"
例のコマンド:
$setting["ClassificationDescriptions"] = "Low Impact: General communication, Medium Impact: Company internal data , High Impact: Data that has regulatory requirements"
また、分類を持つ新しいグループを作成するときにこのコマンドを実行することもできます:
New-UnifiedGroup -Classification -AccessType
これらの設定を有効にした後、グループのオーナーは、Web上のOutlookとOutlookのグループ編集ページからドロップダウンメニューからラベルを選択して保存できます。
2.ユーザーにMicrosoft365グループとして送信する権限を付与する
画像ソース: Unsplash
この設定が有効になっている場合、Microsoft365グループのメンバーは、Outlookの任意のバージョンやOutlook Web版を使用して、グループの名前でメールを作成して返信することができます。
そのためには、Add-RecipientPermissionとGet-RecipientPermissionのコマンドレットを使用して、Microsoft365グループのオプションを「Send As」に設定します。
グループアドレス宛てにメールを送信するには、ユーザーはグループにアクセスし、新しいメールを作成し、「Send As」フィールドを「Group」として編集する必要があります。
また、Exchange Admin Centerを介してこれを行うこともできます。特定のユーザーに対するグループのアクセス許可を変更するには、グループとユーザーのエイリアスに適切な置換を行い、以下のスクリプトを実行してください。このスクリプトは、Exchange Onlineに接続することで取得されるExchange Online PowerShellへのアクセスを必要とします。
PowerShell:
$groupAlias = ""
$userAlias = ""
$groupsRecipientDetails = Get-Recipient -RecipientTypeDetails groupmailbox -Identity $groupAlias
Add-RecipientPermission -Identity $groupsRecipientDetails.
Name -Trustee $user
Alias -AccessRights SendAs
このコマンドが実行されると、ユーザーはOutlookまたはウェブ上のOutlookにアクセスし、グループのメールアドレスを「From」フィールドに入力することで、グループとしてメールを送信できるようになります。
3. PowerShellを使用してOffice365ユーザーの完全なリストを取得する
Get-MsolUserコマンドレットを使用して、Office365ユーザーのリストとそれらに関連付けられたライセンスを作成します。このコマンドは、Office365テナント内の有効なライセンスを持つ各ユーザーの部署、表示名、都市、およびオブジェクトIDを返します。
Get-MsolUser | Select DisplayName, City, Department, ObjectID
Office365を管理する際に、アカウントライセンスの総数を確認する必要があることがよくあります。そのためには、以下のコマンドレットを実行してください:
Get-MsolAccountSku
利用可能なサービスのリストを表示したい場合は、以下のスクリプトを実行する必要があります:
Select "Get-MsolAccountSku | -ExpandProperty ServiceStatus"
4.グローバルアドレスリスト(GAL)からMicrosoft365グループを非表示にする
Microsoftは、Microsoft365 GroupがGALや他の会社全体の配信リストに表示されるかどうかを指定できます。
たとえば、ある理由で特定のグループがグローバルアドレスリストに表示されたくない場合があります。アドレスリストからグループのエントリを削除するには、次のSet-Unified Groupコマンドレットを実行する必要があります。
Set-UnifiedGroup -Identity "Legal Department" -HiddenFromAddressListsEnabled $true
Also Read Office365ユーザーレポートの展開
InfraSOSを使用してOffice365レポートを実行する(100以上のレポート)
無料でお試し、すべての機能にアクセス。–200以上のADレポートテンプレートが利用可能。簡単に独自のADレポートをカスタマイズできます。
5. Microsoft365グループへのメッセージを内部ユーザーのみにすることを確認
画像出典:Pixabay
Microsoft365グループの設定を調整して、グループの組織外のユーザーからのメッセージを防ぐことができます。この設定により、組織外の誰もがグループにメールでメールを送信できないことが保証されます。
この設定が有効になっている場合、グループ外のユーザーからグループに送信されたメッセージは無視されます。
そのためには、次のSet-UnifiedGroupコマンドレットコマンドを実行してください。
Set-UnifiedGroup -Identity "Internal senders only" -RequireSenderAuthenticationEnabled $true
6. Microsoft365グループの表示名を変更する
Microsoft365グループの名前は表示名で指定されます。これは、ExchangeまたはMicrosoft365コントロールパネルに表示される名前です。Set-UnifiedGroupコマンドを使用すると、グループの表示名を変更したり、既存のMicrosoft365グループに新しい名前を付けたりできます。
そのためには、次のコマンドを実行してください:
Set-UnifiedGroup -Identity "[email protected]" -DisplayName "My new group"
7.ライセンス付きMicrosoft365ユーザーの表示
あなたのMicrosoft365組織のライセンスオプションは、ユーザーアカウントにいくつか、すべて、またはなしのライセンスを発行することができます。PowerShell for Microsoft365を使用すると、有効なライセンスを持つ従業員と持たない従業員を簡単に特定できます。
テナント内の利用可能なライセンスを表示するには、次のコマンドを実行してください:
Connect-Graph -Scopes User.Read.All, Organization.Read.All
このコマンドを実行して、特定のアカウントのライセンス詳細を表示します:
Get-MgUserLicenseDetail -UserId ""
例:
Get-MgUserLicenseDetail -UserId "[email protected]"
このコマンドを実行して、組織内のすべてのユーザーアカウントの完全なリストを表示し、ライセンスプランの1つにアクセス権を付与されたユーザー(ライセンスされたユーザー)を確認します。
Get-MgUser -Filter 'assignedLicenses/$count ne 0' -ConsistencyLevel eventual -CountVariable licensedUserCount -All -Select UserPrincipalName,DisplayName,AssignedLicenses | Format-Table -Property UserPrincipalName,DisplayName,AssignedLicenses
Write-Host "Found $licensedUserCount licensed users."
このコマンドを実行して、組織内のE5ライセンスを持つユーザーアカウントのリストを表示します。
$e5Sku = Get-MgSubscribedSku -All | Where SkuPartNumber -eq 'SPE_E5'
Get-MgUser -Filter "assignedLicenses/any(x:x/skuId eq $($e5sku.SkuId) )" -ConsistencyLevel eventual -CountVariable e5licensedUserCount -All
Write-Host "Found $e5licensedUserCount E5 licensed users."
8.未ライセンスユーザーの表示
未ライセンスユーザーを表示するには、次のコマンドを実行します:
Get-MgUser -Filter 'assignedLicenses/$count eq 0' -ConsistencyLevel eventual -CountVariable unlicensedUserCount -All
Write-Host "Found $unlicensedUserCount unlicensed users."
このコマンドを実行して、組織内のすべてのユーザーアカウント(ゲストアカウントを除く)のリストを表示し、ライセンスプランのいずれにも割り当てられていないユーザー(未ライセンスユーザー)を確認します。
Get-MgUser -Filter "assignedLicenses/`$count eq 0 and userType eq 'Member'" -ConsistencyLevel eventual -CountVariable unlicensedUserCount -All
Write-Host "Found $unlicensedUserCount unlicensed users (excluding guests)."
9. MailTipsをMicrosoft365グループに統合する
Office365では、メールがMicrosoft365 Groupに送信される際に、メールヒントが表示されます。
そのためには、Set-Unified Groupコマンドレットを使用する必要があります。
Set-UnifiedGroup -Identity "MailTip Group" -MailTip "This group has a MailTip"
Office365では、MailTipの代替翻訳をMailTipTranslations設定を介して定義することもできます。
たとえば、スペイン語版を希望する場合は、次のコマンドを実行することで取得できます。
Set-UnifiedGroup -Identity "MailaTip Group" -MailTip "This group has a MailTip" -MailTipTranslations "@{Add="ES:Esta caja no se supervisa."
10. PowerShellでOffice365のパスワードを変更する
Set-MsolUserPassword -UserPrincipalName JSmith@Netwrixqcspa.onmicrosoft.com -NewPassword P@SSw0rd!
11. Office365グループメンバーシップの管理
Office365は、Powershellを使用してOffice365メンバーシップを管理する機能を管理者に提供しています。管理者として、すべてのグループのリストを取得する必要がある場合がよくあります。これには、 Get-MsolGroupコマンドを使用する必要があります。このコマンドを使用すると、Office365グループの完全なリストを取得できます。
さらに、Add-MsolGroupMemberコマンドを使用してグループにユーザーを追加することができます:
Add-MsolGroupMember -GroupObjectId 5b61d9e1-a13f-4a2d-b5ba-773cebc08eec -GroupMemberObjectId a56cae92-a8b9-4fd0-acfc-6773a5c1c767 -GroupMembertype user
また、Get-MsolGroupコマンドを使用することで、グループの16進数のIDであるGroupObjectIdを特定することができます。また、このコマンドを実行することで、GroupMemberObjectIdであるユーザーオブジェクトIDを見つけることができます。
Get-MsolUser | Select ObjectID.
最後に、管理者として、グループからユーザーを削除したい場合は、Remove-MsoGroupMemberコマンドレットを使用して行うことができます。
12. Office365でのレポート作成
PowerShellはOffice365で様々な種類のレポートを生成するために使用されます。以下は、Powershellコマンドを使用してOffice365レポートを作成するための便利なコマンドです。
すべてのメールボックスの詳細な分析を取得:
Get-mailbox | get-MailboxStatistics
過去30日間アクセスされていない非アクティブなメールボックスの完全なリストを表示したい場合は、以下のコマンドを使用して行うことができます:
Get-Mailbox –RecipientType 'UserMailbox' | Get-MailboxStatistics | Sort-Object LastLogonTime | Where {$_.LastLogonTime –lt ([DateTime]::Now).
AddDays(-30) } | Format-Table DisplayName, LastLogonTime
送信者と受信者のトップレポートを取得するには、以下のコマンドを実行してください:
Get-MailTrafficTopReport
すべてのグループとそのメンバーシップのレポートを取得するために、以下のスクリプトを実行してください:
function Get-AllO365Members
{
Try
{
$O365Groups=Get-UnifiedGroup
foreach ($O365Group in $O365Groups)
{
Write-Host "Group Membership: " $O365Group.DisplayName -ForegroundColor Green
Get-UnifiedGroupLinks –Identity $O365Group.Identity –LinkType Members
Write-Host
}
}
catch [System.Exception]
{
Write-Host -ForegroundColor Red $_.Exception.ToString()
}
}
Get-AllO365Members
新しいMS Graph Reporting APIがほとんどのPowershellレポートコマンドレットを置き換えていることに注意することが重要です。
したがって、Office365 セキュリティ&コンプライアンスセンターにアクセスしていくつかのレポートを取得する必要があるかもしれません。
13. PowerShellを使用してユーザーをすべてのサイトから削除する
時には管理者として、Office365からユーザーを削除する必要があることがあります。次のコマンドを使用して、すべてのサイトからユーザーを永続的に削除することができます:
Get-SPOSite | ForEach {Remove-SPOUser -Site $_.Url -LoginName " JSmith@enterprise.onmicr
14. Office365インスタンスへの接続の確立
Office365で作業を開始するには、Windows PowerShellモジュールをダウンロードしてインストールする必要があります。以下の手順に従ってください。
まず、Microsoft Online Services Sign In Assistant for IT Professionals RTWを取得し、コンピュータに設定してください。
2番目のステップは、コンピュータ上のAzure Active DirectoryとOffice365のOnline Services PowerShellモジュールをインストールすることです。
これは、次のコマンドを実行することで行うことができます:
Install-Module -Name AzureAD
Install-Module -Name MSOnline
次のステップは、Office365の管理者資格情報を提供することです:
$Cred = Get-Credential
4番目のステップは、リモートPowershellセッションを作成することです。次のコマンドを実行してください:
$O365 = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $Cred -Authentication Basic -AllowRedirection
次のステップは、セッションコマンドをローカルWindows PowerShellセッションにインポートすることです:
Import-PSSession $O365
最後に、次のようにすべてのOffice365サービスに接続します。
Connect-MsolService –Credential $O365
必要なWindows PowerShellモジュールがインポートされたので、Office365の管理を開始できます。
15. Exchange OnlineおよびSharePoint OnlineへのPowerShell接続
Office365を使用すると、Microsoft Exchange OnlineまたはMicrosoft SharePoint Onlineに接続できます。PowerShellを使用してExchange Onlineに接続するのは、Office365に接続するのに非常によく似ています。次のコードを実行してください。
$Cred = Get-Credential
$Session = New
-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $Cred -Authentication Basic –AllowRedirection
一方、SharePoint Onlineに接続する方法は少し異なります。SharePoint Onlineテナントを管理する前に、SharePoint Online Management Shellアドオンをインストールする必要があります。それが完了したら、次のPowerShellスクリプトを実行します。
$admin="[email protected]" $orgname="enterprise" $userCred = Get-Credential -UserName $admin -Message "Type the password." Connect-SPOService -Url https://$orgname-admin.sharepoint.com -Credential $userCred
さらに読む:Azure AD監視ツールのデプロイ
トップOffice365 PowerShellコマンド(ユーザー、グループ、ライセンス)結論
Powershellは、Office 365を管理するための非常に強力なツールです。PowerShellを使用したOffice 365の管理は、Microsoft Windows Server上と同じく迅速かつ簡単です。
ただし、Powershellを使用して簡単に変更を行うことができますが、Office 365環境へのすべての変更について、常に監査トレイルを保持することをお勧めします。これは、将来問題が発生した場合のトラブルシューティングに役立ちます。
Source:
https://infrasos.com/top-15-office-365-powershell-commands-users-groups-licensing/