Office 365 PowerShellコマンドのトップ15(ユーザー、グループ、ライセンス)

オフィス 365 PowerShell コマンドのトップ15 (ユーザー、グループ、ライセンス)。ウィンドウズ PowerShell ユーザーとして、オフィス 365 管理のために PowerShell を使用することが多くのオフィス 365 ユーザーにとって複雑に思われることを認識しています。

しかし、私の経験では、それにもかかわらず、ウィンドウズ PowerShell はオフィス 365 を管理するための非常に便利なツールです。たとえば、オフィス 365 ポータルで利用可能な無数のオプションをひとつずつ調べる代わりに、管理者はコードを数行入力するだけで必要な情報を簡単に取得できます。そのため、オフィス 365 の体験を効率化するのに役立つ便利なコマンドをいくつか学ぶことが重要です。その考えを踏まえて、オフィス 365 のタスクを簡素化するのに役立つトップ15のオフィス 365 PowerShell コマンドを学んでみましょう。

それを念頭に置いて、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-RecipientPermissionGet-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

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のパスワードを変更する

Office365の管理者または通常のユーザーとして、アカウントが侵害されたか、より安全なパスワードを使用したいために、パスワードを変更する必要がある場合があります。

Office365では、Set-MsolUserPasswordコマンドを使用して既存のパスワードを変更することで、これが可能になります。システムがランダムなパスワードを生成するので、自分で考える手間を省くことができます。また、以下の例のように新しいパスワードを指定することもできます。

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

トップ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/