組織のプランナーで Outlook 予定表の同期を無効にする

注: 最新のヘルプ コンテンツをできるだけ早く、お客様がお使いの言語で提供したいと考えております。このページは、自動翻訳によって翻訳されているため、文章校正のエラーや不正確な情報が含まれている可能性があります。私たちの目的は、このコンテンツがお客様の役に立つようにすることです。お客様にとって役立つ情報であったかどうかを、このページの下部でお知らせください。簡単に参照できるように、こちらに英語の記事があります。

Office 365 のグローバル管理者であり、 Microsoft Plannerで予定表の同期を無効にする場合は、 Windows PowerShellを使用できます。Office 365 サブスクリプションの一部としてPlannerが設定されているすべての組織に対して、プランナが自動的に有効になります。

Windows PowerShellでPlannerの変更を行うための前提条件

この手順では、 PowerShellでPlanner admin コマンドを実行するために必要なファイルをダウンロードします。

  • 2つの Active Directory dll

  • 1つのPowerShellスクリプト

  • スクリプトのマニフェスト

Windows PowerShellを初めて使う場合は、「 Windows PowerShell の使用」を参照してください。

  1. https://www.nuget.org/packages/Microsoft.IdentityModel.Clients.ActiveDirectory/2.29.0に移動する

  2. 右側の [手動ダウンロード] を選び、[名前を付けて保存] を選択して保存先を選び、[保存] を選びます。

  3. ファイルエクスプローラーでファイルを検索し、そのファイル拡張子を nupkg から .zip に変更します。

  4. .zip ファイルを右クリックし、[すべて抽出] を選択します。 [抽出] を選びます。"microsoft へ activedirectory 2.29.0" というタイトルの解凍されたフォルダーが表示されます。

  5. 次のコードをテキストエディターにコピーし、"microsoft へ activedirectory 2.29.0 \ lib\net45" フォルダーに SetPlannerTenantSettings として保存します。

    function Connect-AAD ()
    {
    <#
    .Synopsis
    (Private to module) Attempts to obtain a token from AAD.
    .Description
    This function attempts to obtain a token from Azure Active Directory.
    .example
    $authorizationContext = Connect-AAD
    #>
        $authUrl = "https://login.microsoftonline.com/common" # Prod environment
        $resource = "https://tasks.office.com" # Prod environment
        $clientId = "d3590ed6-52b3-4102-aeff-aad2292ab01c"
       
        $redirectUri = "urn:ietf:wg:oauth:2.0:oob"
        $promptBehavior = [Microsoft.IdentityModel.Clients.ActiveDirectory.PromptBehavior]::Always
       
        $authentiationContext = New-Object "Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext" -ArgumentList $authUrl, $False
       
        $authenticationResult = $authentiationContext.AcquireToken($resource, $clientId, $redirectUri, $promptBehavior)
        return $authenticationResult
    }
    function Set-PlannerConfiguration
    {
    <#
    .Synopsis
    Configures tenant level settings for Microsoft Planner.
    .Description
    This cmdlet allows tenant administrators to change policies regarding availability of certain features in Microsoft Planner. The changes to settings take effect immediately. This cmdlet specifies the administrator preference on whether the feature should be available. The features can still be disabled due to Microsoft Planner behavior, at the discretion of Microsoft.
    .Parameter Uri
    The URL of the Tenant-Level Settings API for the Planner instance to control.
    .Parameter AccessToken
    A valid access token of a user with tenant-level administrator privileges.
    .Parameter AllowCalendarSharing
    If set to $false, disables creating iCalendar links from Microsoft Planner, and disables previously created iCalendar links.  If set to $true, enables creating iCalendar links from Microsoft Planner and re-enables any previously created iCalendar links.
    .example
    Set-PlannerConfiguration -AllowCalendarSharing $true
    #>
        param(
            [ValidateNotNull()]
            [System.String]$Uri="https://tasks.office.com/taskAPI/tenantAdminSettings/Settings",
            [ValidateNotNullOrEmpty()]
            [Parameter(Mandatory=$false)][System.String]$AccessToken,
            [Parameter(Mandatory=$false, ValueFromPipeline=$true)][System.Boolean]$AllowCalendarSharing
            )
       
        if(!($PSBoundParameters.ContainsKey("AccessToken"))){
            $authorizationContext = Connect-AAD
            $AccessToken = $authorizationContext.AccessTokenType.ToString() + ' ' +$authorizationContext.AccessToken
        }
       
        $flags = @{}
       
        if($PSBoundParameters.ContainsKey("AllowCalendarSharing")){
            $flags.Add("allowCalendarSharing", $AllowCalendarSharing);
        }
        $propertyCount = $flags | Select-Object -ExpandProperty Count
       
        if($propertyCount -eq 0) {
            Throw "No properties were set."
        }
       
        $requestBody = $flags | ConvertTo-Json
        Invoke-RestMethod -ContentType "application/json;odata.metadata=full" -Headers @{"Accept"="application/json"; "Authorization"=$AccessToken; "Accept-Charset"="UTF-8"; "OData-Version"="4.0;NetFx"; "OData-MaxVersion"="4.0;NetFx"} -Method PATCH -Body $requestBody $Uri
    }
    function Get-PlannerConfiguration
    {
    <#
    .Synopsis
    Retrieves tenant level settings for Microsoft Planner.
    .Description
    This cmdlet allows users and tenant administrators to retrieve policy preferences set by the tenant administrator regarding availability of certain features in Microsoft Planner.  While a feature may be permitted by a tenant administrator's preference, features can still be disabled due to Microsoft Planner behavior, at the discretion of Microsoft.
    .Parameter Uri
    The URL of the Tenant-Level Settings API for the Planner instance to retrieve.
    .Parameter AccessToken
    A valid access token of a user with tenant-level administrator privileges.
    .example
    Get-PlannerConfiguration
    #>
        param(
            [ValidateNotNull()]
            [System.String]$Uri="https://tasks.office.com/taskAPI/tenantAdminSettings/Settings",
            [Parameter(Mandatory=$false)]
            [ValidateNotNullOrEmpty()]
            [System.String]$AccessToken
            )
       
        if(!($PSBoundParameters.ContainsKey("AccessToken"))){
            $authorizationContext = Connect-AAD
            $accessToken = $authorizationContext.AccessTokenType.ToString() + ' ' +$authorizationContext.AccessToken
        }
       
        $response = Invoke-RestMethod -ContentType "application/json;odata.metadata=full" -Headers @{"Accept"="application/json"; "Authorization"=$AccessToken; "Accept-Charset"="UTF-8"; "OData-Version"="4.0;NetFx"; "OData-MaxVersion"="4.0;NetFx"} -Method GET $Uri
        $result = New-Object psobject
        $result | Add-Member -NotePropertyName "SettingName" -NotePropertyValue "AllowCalendarSharing"
        $result | Add-Member -NotePropertyName "Value" -NotePropertyValue $response.allowCalendarSharing
        return $result
    }
    Export-ModuleMember -Function Get-PlannerConfiguration, Set-PlannerConfiguration
    
  6. 次のコードをテキストエディターにコピーし、"microsoft へ activedirectory 2.29.0 \ lib\net45" フォルダーに SetPlannerTenantSettings として保存します。

    #
    # Module manifest for module 'SetTenantSettings'
    #
    # Generated by: Microsoft Corporation
    #
    # Generated on: 12/17/2017
    #
    
    @{
    
    # Script module or binary module file associated with this manifest.
    RootModule = 'SetPlannerTenantSettings.psm1' # Version number of this module. ModuleVersion = '1.0' # Supported PSEditions # CompatiblePSEditions = @() # ID used to uniquely identify this module GUID = '6250c644-4898-480c-8e0b-bd3ebdf246ca' # Author of this module Author = 'Microsoft Corporation' # Company or vendor of this module CompanyName = 'Microsoft Corporation' # Copyright statement for this module Copyright = '(c) 2017 Microsoft Corporation. All rights reserved.' # Description of the functionality provided by this module Description = 'Planner Tenant Settings client' # Minimum version of the Windows PowerShell engine required by this module # PowerShellVersion = '' # Name of the Windows PowerShell host required by this module # PowerShellHostName = '' # Minimum version of the Windows PowerShell host required by this module # PowerShellHostVersion = '' # Minimum version of Microsoft .NET Framework required by this module. This prerequisite is valid for the PowerShell Desktop edition only. # DotNetFrameworkVersion = '' # Minimum version of the common language runtime (CLR) required by this module. This prerequisite is valid for the PowerShell Desktop edition only. # CLRVersion = '' # Processor architecture (None, X86, Amd64) required by this module # ProcessorArchitecture = '' # Modules that must be imported into the global environment prior to importing this module # RequiredModules = @() # Assemblies that must be loaded prior to importing this module RequiredAssemblies = @("Microsoft.IdentityModel.Clients.ActiveDirectory.dll","Microsoft.IdentityModel.Clients.ActiveDirectory.WindowsForms.dll") # Script files (.ps1) that are run in the caller's environment prior to importing this module. # ScriptsToProcess = @() # Type files (.ps1xml) to be loaded when importing this module # TypesToProcess = @() # Format files (.ps1xml) to be loaded when importing this module # FormatsToProcess = @() # Modules to import as nested modules of the module specified in RootModule/ModuleToProcess # NestedModules = @() # Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export. FunctionsToExport = @("Get-PlannerConfiguration", "Set-PlannerConfiguration") # Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export. CmdletsToExport = @() # Variables to export from this module VariablesToExport = '*' # Aliases to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no aliases to export. AliasesToExport = @() # DSC resources to export from this module # DscResourcesToExport = @() # List of all modules packaged with this module # ModuleList = @() # List of all files packaged with this module # FileList = @("SetTenantSettings.psm1") # Private data to pass to the module specified in RootModule/ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell. PrivateData = @{ PSData = @{ # Tags applied to this module. These help with module discovery in online galleries. # Tags = @() # A URL to the license for this module. # LicenseUri = '' # A URL to the main website for this project. # ProjectUri = '' # A URL to an icon representing this module. # IconUri = '' # ReleaseNotes of this module # ReleaseNotes = '' } # End of PSData hashtable } # End of PrivateData hashtable # HelpInfo URI of this module # HelpInfoURI = '' # Default prefix for commands exported from this module. Override the default prefix using Import-Module -Prefix. # DefaultCommandPrefix = '' }
    
  7. 次のコマンドを実行して、これらのファイルをPowerShellにインポートします。コンピューターから一意のファイルパスを追加してください。

    Import-Module [File path on your computer]microsoft.identitymodel.clients.activedirectory.2.29.0\lib\net45\SetPlannerTenantSettings.psd1 

これで、 PowerShellを使用して、組織レベルでPlannerに変更を加える準備が整いました。

PowerShellを使用してPlannerで Outlook 予定表の同期をオフまたはオンにする

  1. PowerShellを開き、次のコマンドを実行して、 Plannerの Outlook 予定表の同期を無効にします。

    Set-PlannerConfiguration -AllowCalendarSharing $false

    Plannerで Outlook の予定表の同期をオンに戻すには、次の操作を行います。

    Set-PlannerConfiguration -AllowCalendarSharing $true

    注: Azure Active Directoryの資格情報を使用してサインインする必要があります。

  2. 設定を確認するには:

    • PowerShellで、次を実行します。 Get-PlannerConfiguration

    • Plannerで、[プランナー ]、[マイタスク] の順に選びます。省略記号 (...) を選択します。outlook 予定表の同期は、[ outlook の予定表に自分のタスクを追加] コマンドが表示されていて、無効になっている場合に有効になります。

Office のスキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×