質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
SharePoint

SharePointは、マイクロソフトにより開発された、ソフトウェア開発のドキュメント管理やコラボレーションを行うプラットフォームの総称です

PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

Q&A

解決済

2回答

2983閲覧

select-objectを動的に設定する方法

tatenomm

総合スコア22

SharePoint

SharePointは、マイクロソフトにより開発された、ソフトウェア開発のドキュメント管理やコラボレーションを行うプラットフォームの総称です

PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

0グッド

1クリップ

投稿2018/10/05 03:36

powershellでsharepoint onlineのリストデータを抽出してcsvにエクスポートする際に、リストアイテム、select-object、エクスポート文をパイプラインで繋いで記載しますが、
select-objectの列名を直書きしないで、powershell内で取得した内部名を使うようにしたいです。
select-objectの部分にあらかじめ組み立てたselect文を格納した変数を記載すると、文法的にだめなようでエラーになります。
何か良い方法はないのでしょうか?
Camlqueryで列名を指定してもだめでした。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

SharePointはわかりませんのが、とりあえずSelect-Objectについて。

Select-ObjectコマンドレットのPropertyパラメータには次のいずれかを要素に含む、Object[]を指定します。

  • 文字列
  • 特定の形式のhashtable

直書きしているときは、カンマ演算子によって文字列を要素とする配列になっています。

これを踏まえると、以下の二つの処理の結果は同じになります。

powershell

1# 直接指定 2$list | Select-Object -Property Name, Id 3 4# 配列で指定 5[object[]]$properties = @('Name', 'Id') 6$list | Select-Object -Property $properties

あとは、取得した内部名を元に、必要な列名が格納された配列を生成すれば良いでしょう。

投稿2018/10/06 14:08

imihito

総合スコア2166

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tatenomm

2018/10/08 06:39

ご回答ありがとうございます。 大変参考になりましたが、SharePointのリストデータの場合は、以下のように指定してデータを取得するため、最初に回答された方の方が参考になりました。 select @{L="ID";E={$_["ID"]}},@{L="件名";E={$_["Title"]}}~
imihito

2018/10/08 11:17

一応補足として。結局はRxMB1X9PupgQafeさんの回答のリンク先と同じ話行き着きますが……。 コメントに記載されているものが「特定の形式のHashTable」になります。 具体的には NameまたはLabel(それぞれN・Lに省略可)にプロパティ名 Expression(Eに省略可)に、値を取得するScriptBlock があるHashTableです。
guest

0

ベストアンサー

select-object powershell dynamicで検索したらこんなの出てきました。
読んでないけど、これではダメでしょうか?

https://stackoverflow.com/questions/14731782/powershell-how-to-use-select-object-to-get-a-dynamic-set-of-properties

投稿2018/10/06 07:48

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tatenomm

2018/10/08 06:40

ご回答ありがとうございました。 リンク先の内容を参考にしてできそうです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問