PnP PowerShell에서 Sharepoint로 작업하기: (3) 간단한 목록 만들기

여러분 안녕하세요.

세 번째는 쉽게 SharePoint 목록을 만드는 곳을 보여주고 싶습니다.

사이트도 PnP로 만들 수 있습니다만, 여기는 저는 수작업으로 했습니다.
목록을 만들려면 New-PnPList 명령을 사용합니다.
핵심은 Title과 Url을 구분하는 것입니다. SharePoint 에서 아무것도 생각하지 않고 신규 리스트 등에 일본어명을 붙여 버리면 나중에 빠지므로, url 쪽에는 취급하기 쉬운 영어명, Title 쪽에 일본어의 이름을 붙입니다.
new-pnplist -title "日本語名" -url "Alphabet" -Template genericList

사이트의 참조에서는 이해하기 어렵지만, -Template 로 사용할 수 있는 이름은 ListTemplateType 에 리스트가 있습니다.



일본어 이름으로 목록이 만들어졌습니다.
URL은 "Alphabet"입니다.

초기 상태에서는 이름(Title)만 존재합니다.
이 섹션에서는 내 예제를 기반으로 "제품 코드 마스터"(ProductCode)라는 목록을 만듭니다.

필드는
Title: "이름"-> "상품명"으로 변경, 색인 있음
code: "제품 코드", 색인 있음
Modified(업데이트 날짜 및 시간): 인덱스 있음
로 보자.

사용하는 명령은
Add-PnpField
Set-PnpField
Set-PnpList
Add-PnpView ,
입니다.
    #リスト作成
    $Title = "商品コードマスタ"
    $Url="ProductCode"
    New-PnPList  -url  $Url -Title $Title -Template GenericList
    #フィールド追加
    Add-PnPField -List $Url -DisplayName "商品コード" -InternalName "code" -Type Text  -AddToDefaultView

    #Title 列の標準名は「名前」なので、「商品名」に変更する。またindex を有効にする
    Set-PnPField -List $Url -Identity "Title" -Values @{"Title"="商品名"; "Indexed"=$true} 
    #既存列の属性を変える。名前を指定するときは、InternalName で指定した"code"のほうを使う
    Set-PnPField -List $Url -Identity "code" -Values @{"Indexed"=$true} 
    Set-PnPField -List $Url -Identity "Modified" -Values @{ "Indexed"=$true} 

    Set-PnPList -Identity $Url -EnableAttachments $false

여기까지는 난이도는 낮습니까?

여기서 첫 번째 장애물입니다.
Add-PnpView 에서 하나의 뷰를 만듭니다. 만들면 참조대로
Add-PnPView -List "Demo List" -Title "Demo View" -Fields "Title","Address"

그래도 괜찮지 만, 그 이상을 시도하면 -Query를 지정해야합니다.
.

-Query의 경우,

-Query
유효한 CAML 쿼리.
Type: String

라는 설명밖에 없습니다!
CAML(협업 애플리케이션 마크업 언어 의 해설을 봐도, 범위가 너무 넓습니다.
Sharepoint의 List Query 요소(목록) 의 해설 쪽이 이번 목적에 있습니다. .

내가 여기서하고 싶은 것은 정렬 순서의 정의입니다. CAML은 모르겠다고 곤란했습니다만, 보자 보니 이런 쿼리를 쓰면 움직였습니다.
    #ビューの追加 フィールドおよびクエリ内での参照先は英語のInternalName のほうを使う
    Add-PnPView -List $Url -Title "コード昇順" -Fields "code","Title" -SetAsDefault -Query "<OrderBy><FieldRef Name='code' Ascending='true'/></OrderBy>" -Paged

마지막으로 SharePoint의 왼쪽 열에 있는 탐색 링크에 이 목록을 추가합니다.
    #左のナビゲーション(クイックランチ)に登録
    Add-PnPNavigationNode -Title $Title -Url $Url -Location QuickLaunch 

이번은 여기까지 합니다.

CAML은 상당히 여러 번 나올 것입니다.

Building CAML for querying List in SharePoint
Atish Dipongkor, 19 Oct 2016
라는 기사가, PnP PowerShell용은 아니지만, List와 CAML의 대응 관계를 설명하고 있어 알기 쉽다고 생각합니다.
이 기사에서는 REST API에서 목록의 정보를 얻고 CAMP 부분을 추출하는 기술을 보여줍니다. 나중에 알고, 이것 사용할 수 있으면 즐거웠을 것입니다! 라고 울었습니다.

좋은 웹페이지 즐겨찾기