@rabirgoです。
Windows の Powershell で、SharePoint という Microsoft のドキュメント管理システムにファイルを自動でアップロードする仕組みを作って欲しいと言われました。
powershell で sharepoint に自動アップロードするスクリプト書いてみてと言われジュンク堂行ってみようかなと思ってしまう(ノウハウコレクター)
— 毛利裕介@元NTT系SIer (@rabirgo) October 16, 2020
Powershell は 文 法 が 斬 新 で覚える気にならなかったし SharePoint は初めてアクセスしてみた&OneDrive との違いがよく分からない状態ですが、調べたことを一部まとめてみます。
Powershell + SharePoint で実現したいこと
要求は以下です。
- ローカル PC で日々作成されるレポート(Excel) を SharePoint のあるパスに自動でアップロードする
- アップロード時は一切の人手を介入させない(スケジューラで動作する)
さほど難しい要求ではありません。
ただ、お作法がさっぱりわからないんですよね。調べました。
Powershell + SharePoint でファイルをアップロードするためのお作法
いくつかお作法がありました。
PowerShell スクリプトは実行が制限されている
SharePoint 関係なく、PowerShell の実行は制限されています。(初期値は Restricted)
PowerShell のスクリプトの実行時に引数へ ExecutionPolicy を指定して実行します。
c:work>PowerShell -ExecutionPolicy RemoteSigned .test.ps1
実行時に指定する場合は上記で。
私は一時的に以下の方法で制限解除してお勉強してます。
Processスコープの設定では、管理者権限も不要ですし、永続性もありません。
Set-ExecutionPolicy RemoteSigned -Scope Process
ダイアログが出現したので、運用時に全く手を入れないようにするには前者の対応が必要かもしれません。(まだ試してない)
SharePoint を扱うために SharePoint Online Management Shell インストール
PowerShell 内で SharePoint にアクセスするためには SharePoint Online Management Shell が必要でした。
ネット上には「SharePoint Online Client Components SDK」という記載もありますが、SharePoint Online Management Shell に含まれるという記載も読んだので後者を入れておきました。
(その記事が見当たらない・・)
さいごに
とりあえずスタートラインまで。
不慣れなのもあり、まとめられてた情報があまりないように感じられて苦労しました。
次回は実装時の気づきを簡単に。こちらのサイトにお世話になりました。
私が作ったものは単純なのでソース公開したいのですが、コピペでの持ち帰りはちょっと難しい。
写経して持ち帰って、自宅で試してみるしかないかな・・
今日の世界一周絶景日めくりカレンダー
日めくりカレンダーを紹介しています。

エベレスト

言わずと知れたエベレスト。
小学校の頃だったか世界一と習い、大人になって K2 が一番に塗り替えられたと聞いたけど改めて調べるとやはりエベレストが一番らしい。
それにしても世界で高い山はほぼすべてヒマラヤ、カラコルム山系(どちらも近く)なんですね。
知らなかった。
関連記事
前日の記事はこちら

翌日の記事はこちら
