SharePoint Online에서 목록을 만드는 단계(PowerShell)

4243 단어 SharePointPowerShell
블로그에서 전재

아포인트와 친해지기 위해 Windows에서는 가장 익숙한 PowerShell을 사용하여 SharePoint Online에 액세스하여 사용자 지정 목록을 작성해 보았습니다.

CSOM(클라이언트 측 개체 모델)을 사용하여 사용자 지정 목록을 만듭니다.

환경


  • Windows 10 Pro 64bit
  • PowerShell 5.1

  • 사전 준비



    SharePoint Online용 SDK가 설치되어 있지 않으면 설치합니다.
  • SharePoint Online Client Components SDK 다운로드 및 설치
    htps //w w. 미 c 로소 ft. 이 m / 엔 - s / 드 w 응 아 d /에서 원하는 ls. 아 spx? 이 d=42038)
    ※ 64 비트와 32 비트를 잘못하지 않도록

  • SharePoint Online에 로그인



    사용자가 미야미야@에에mpぇ. 이 m , SharePoint Online URL을 https://<tenant>.sharepoint.com/sites/example로 가정한 샘플 코드.
    [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client") | Out-Null
    [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client.Runtime") | Out-Null
    
    # 取得する SharePoint Online の URL
    $url = 'https://<tenant>.sharepoint.com/sites/example'
    
    # ユーザー名
    $user = '[email protected]';
    
    # パスワード
    $secure = Read-Host -Prompt "Enter the password for ${user}(Office365)" -AsSecureString;
    
    # SharePoint Online 認証情報
    $credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($user, $secure);
    
    # SharePoint Client Context インスタンスを生成
    $ctx = New-Object Microsoft.SharePoint.Client.ClientContext($url)
    $ctx.Credentials = $credentials
    

    여기까지는 평소의 엉망인 코드.
    로그인하여 SharePoint Client Context의 인스턴스를 만드는 중입니다.

    만들려는 목록의 속성 지정



    여기서는 만들 때 사용자 지정 목록을 지정하고 웹 주소를 https://<tenant>.sharepoint.com/sites/example/Lists/newList로 가정합니다.
    $listInfo = New-Object Microsoft.SharePoint.Client.ListCreationInformation
    $listInfo.TemplateType = 100
    $listInfo.Title = 'newList'
    

    먼저 $listInfo 로 ListCreationInformation 클래스의 인스턴스를 만듭니다.

    그런 다음 TemplateType의 100은 사용자 지정 목록을 지정합니다.
  • 참고 SPListTemplateType enumeration

  • 브라우저에서 조작했을 때라고하면 빨간색 프레임입니다.


    Title 는 반각으로 설정합니다. 일본어 제목은 별도로 지정하므로 여기에서는 URL로 사용할 이름을 지정합니다.

    디폴트로 작성되는 Lists 아래에 리스트를 작성하고 싶지 않다면, Url 프로퍼티로 디렉토리를 지정하는 것도 가능합니다.

    디렉토리 지정
    # Lists の下に newList を作成する例
    $listInfo.Url = "Lists/newList"
    
    # example 直下に newList を作成する例
    $listInfo.Url = "newList"
    

    목록 만들기


    $list = $ctx.Web.Lists.Add($listInfo)
    $list.Title = "新しいリスト"
    $list.Update()
    $ctx.ExecuteQuery()
    

    먼저 컨텍스트에 ListCreationInformation을 추가하여 반환 값의 SPList를 $list에 저장합니다.

    다음으로 Title 로 새롭게 만드는 리스트의 타이틀을 일본어로 지정하고 있습니다.

    마지막으로 SPList 를 Update 하고, 컨텍스트를 ExecuteQuery 로 반영시킵니다.

    고찰



    이것으로 일본어 타이틀을 사용하는 커스텀 리스트의 작성으로, 가장 간단한 작성은 완료입니다.

    SourceID를 지정하지 않으면 OpenXML SDK를 사용하여 무언가를 할 때 문제가 발생합니다! 라는 이야기도 보았습니다만, 조금 상황을 상상할 수 없었기 때문에 머리의 한쪽 구석에 놓아 두기로 합니다...

    다음은 PowerShell에서 다른 설정을 시도해 보겠습니다.

    참고


  • MSDN: ListCreationInformation members
  • MSDN: SPListTemplateType enumeration
  • MSDN: SPList properties
  • 좋은 웹페이지 즐겨찾기