조직의 Planner에서 Outlook 일정 동기화를 끄기Turn off Outlook calendar sync in Planner for your organization

전역 관리자이고 Microsoft Planner에서 캘린더 동기화를 해제하려면 Windows PowerShell을 사용할 수 있습니다.If you are a global admin and you want to turn off calendar sync in Microsoft Planner, you can use Windows PowerShell. 플래너를 구독의 일부로 가지고 있는 모든 조직에 대해 플래너가 자동으로 설정됩니다.Planner is automatically turned on for all organizations that have Planner as part of their subscription.

참고

Planner와 개인용 Outlook 일정을 동기화하는 방법을 찾고 계신가요?Looking for how to sync your personal Outlook calendar with Planner? Outlook에서 Planner 일정 보기See your Planner calendar in Outlook.

Windows PowerShell에서 Planner 변경의 필수 구성 요소Prerequisites for making Planner changes in Windows PowerShell

이 절차는 PowerShell에서 Planner 관리 명령을 실행하는 데 필요한 파일을 다운로드하는 과정을 안내합니다.This procedure walks you through downloading the files needed to run Planner admin commands in PowerShell:

  • 2개의 Active Directory DLLTwo Active Directory DLLs
  • 하나의 PowerShell 스크립트One PowerShell script
  • 스크립트의 매니페스트The script's manifest

Windows PowerShell을 처음 사용한다면 Windows PowerShell 시작을 참조하세요.If you're new to Windows PowerShell, see Getting started with Windows PowerShell.

  1. https://www.nuget.org/packages/Microsoft.IdentityModel.Clients.ActiveDirectory/2.29.0(으)로 이동Navigate to https://www.nuget.org/packages/Microsoft.IdentityModel.Clients.ActiveDirectory/2.29.0
  2. 오른쪽에서 수동 다운로드를 선택하고 다른 이름으로 저장을 선택한 다음 저장 위치를 선택하고 저장을 선택합니다.On the right, select Manual download, choose Save as, choose a location to save it to, and choose Save.
  3. 파일 탐색기에서 파일을 찾아 파일 확장명을 .nupkg에서 .zip으로 변경합니다.Find the file in File Explorer and change its file extension from .nupkg to .zip.
  4. 파일을 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.Right-click the file and select Properties. 일반 탭에서 차단 해제 확인란이 보이면 선택하고 확인을 선택합니다.On the General tab, select the Unblock check box if you see one, and then select OK.
  5. .zip 파일을 마우스 오른쪽 단추로 클릭하고 모두 추출을 선택합니다.Right-click the .zip file and choose Extract All. 추출을 선택합니다.Choose Extract. "microsoft.identitymodel.clients.activedirectory.2.29.0"이라는 압축이 풀린 폴더가 생성됩니다.You'll end up with an unzipped folder entitled "microsoft.identitymodel.clients.activedirectory.2.29.0".
  6. 텍스트 편집기로 다음 코드를 복사하고 "microsoft.identitymodel.clients.activedirectory.2.29.0\lib\net45" 폴더에 SetPlannerTenantSettings.psm1로 저장합니다.Copy the following code into a text editor and save it as SetPlannerTenantSettings.psm1 in the "microsoft.identitymodel.clients.activedirectory.2.29.0\lib\net45" folder.
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
  1. 텍스트 편집기로 다음 코드를 복사하고 "microsoft.identitymodel.clients.activedirectory.2.29.0\lib\net45" 폴더에 SetPlannerTenantSettings.psd1로 저장합니다.Copy the following code into a text editor and save it as SetPlannerTenantSettings.psd1 in the "microsoft.identitymodel.clients.activedirectory.2.29.0\lib\net45" folder.
#
# 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 = '' }
  1. 이 명령을 실행하여 파일을 PowerShell로 가져오고 컴퓨터에서 고유한 파일 경로를 추가합니다.Run this command to import these files into PowerShell, making sure to add your unique file path from your computer:
Import-Module [File path on your computer]microsoft.identitymodel.clients.activedirectory.2.29.0\lib\net45\SetPlannerTenantSettings.psd1 

이제 PowerShell을 사용하여 조직 수준에서 Planner를 변경할 준비가 되었습니다.Now you're ready to make changes to Planner at the organizational level using PowerShell.

PowerShell을 사용하여 Planner에서 Outlook 일정 동기화 설정 또는 해제Turn off or on Outlook calendar sync in Planner using PowerShell

  1. PowerShell을 열고 다음 명령을 실행하여 Planner에 대한 Outlook 일정 동기화를 해제합니다.Open PowerShell and run the following command to turn off Outlook calendar sync for Planner:

    Set-PlannerConfiguration -AllowCalendarSharing $false

    Planner에서 Outlook 일정 동기화를 다시 설정하려면 다음과 같이 합니다.To turn Outlook calendar sync back on in Planner:

    Set-PlannerConfiguration -AllowCalendarSharing $true

    참고

    Azure Active Directory 자격 증명을 사용하여 로그인해야 합니다.You'll need to sign in using your Azure Active Directory credentials.

  2. 설정을 확인하려면 다음과 같이 합니다.To verify your settings:

    • PowerShell에서 Get-PlannerConfiguration을(를) 실행합니다.In PowerShell, run: Get-PlannerConfiguration
    • Planner에서 Planner > 내 작업으로 이동합니다.In Planner, go to Planner > My Tasks. 줄임표 (...)를 선택합니다. Outlook 일정 동기화는 Outlook 일정에 "내 작업 추가" 명령이 표시되면 활성화 중이고, 표시되지 않으면 비활성화 중입니다.Select the ellipses (...). Outlook calendar sync is enabled if you see the Add "My Tasks" to Outlook calendar command, and disabled if you don't.