からめもぶろぐ。

俺たちは雰囲気で OAuth をやっている

PowerShell

PowerShell モジュール開発入門を公開しました

なんとなく書いたもののしゃべる機会がなくなりそうだったのでスライドだけ公開します。 PowerShell モジュールを Azure Artifacts に公開する方法については以前の記事でも公開していますが、今回はより全体的に、コーディング、テスト、CI/CD の観点から P…

Power Platform + Azure で SharePoint のサイト作成フォームを作ってみる

2020/01/31 に行われた「Power Apps でローコーディングな勉強会 #12」に参加してきました。powerapps.connpass.comその際にちょっとしたアプリを作成したのでここで紹介したいと思います。 概要 アプリの概要としては「Power Apps から SharePoint のサイト…

PowerShell モジュールで変数をエクスポートするときの挙動について

この記事は PowerShell Advent Calendar 2019 に参加しています。qiita.comPowerShell モジュールで変数をエクスポートするときの挙動について、ちょっとハマりどころがあったので、整理してみたいと思います。 スクリプトで Export-ModuleMember を呼び出さ…

PowerShell モジュールを Azure Artifacts に公開する

この記事は Azure DevOps Advent Calendar 2019 に参加しています。qiita.comAzure DevOps には Azure Artifacts というパッケージをホストする機能があります。Azure Artifacts では NuGet パッケージをサポートするので、PowerShell モジュールを公開して…

Windows PowerShell と PowerShell Core に対応した PowerShell モジュールを作成する

この記事は PowerShell Advent Calendar 2019 に参加しています。qiita.comPowerShell の新しいバージョンである PowerShell Core が提供されて久しいですが、PowerShell モジュールを開発して一般に提供するような場合、互換性を考えて、旧来の Windows Pow…

削除できなくなった SharePoint 2013 ワークフローを強制的に削除する

SharePoint Designer で SharePoint 2013 ワークフローを開発しているとまれに作成したワークフローを削除できなくなることがあります。具体的には、再利用可能なワークフローを作成し、テンプレートとして保存し、保存したテンプレートから展開した場合に、…

PowerApps の所有者を PowerShell で変更する

なんか煽られた気がするので書いてみます。試して、ブログ書いてくれるんですか!ありがとうございますさすが!優しいわ~— Taiki Yoshida | Microsoft (@TaikiYoshidaJP) 2019年8月29日PowerApps で、アプリの作成者が退職したなどの理由でアカウントがなく…

SharePoint Online Management Shell でテンプレートを空にしてサイト コレクションを作成できなくなりました

先日、SharePoint 管理センターのアップデートがあり、クラシック機能が一か所にまとめられてアクセスできるようになりました。それに伴ってかどうかは定かではありませんが、SharePoint Online Management Shell から新しいサイト コレクションを作成したと…

New-SPOSite した直後に更新操作をしようとすると失敗することがある

SharePoint Online Management Shell を使って New-SPOSite したあとに、CSOM などで何らかの更新操作 (例えばサイト グループを作ったりするなど) をしようとするとエラーになることがあります。そもそも、SharePoint Online でのサイト コレクションの操作…

PowerShell と CSOM で Geolocation 列に値を入れるときにちょっとハマったのでメモ

相変わらず PowerShell なんですけれども。Geolocation 列に値を入れる方法については以下にまとまっています。FieldGeolocationValue を使ってねということのようです。docs.microsoft.comそれでは実際にやってみます。 $item = New-Object Microsoft.Share…

platyPS で PowerShell ヘルプ ファイルを簡単に書く

PowerShell チームから提供されている platyPS というツールがあります。github.comざっくりいうと、既存のモジュールを読み込んで Markdown 形式のテンプレートを生成し、さらに Markdown ファイルを読み込んで PowerShell ヘルプ ファイル (dll-Help.xml) …

AppVeyor で PowerShell Core モジュールのバージョンを書き換える

こんな記事を書いてました。blog.karamem0.jpこれでもよかったのですが、せっかくなのでビルドするごとにバージョン番号を書き換えたいよね、ということで。AppVeyor にはビルド時にアセンブリ バージョンを書き換える機能が提供されています。.NET Framewor…

SharePoint Online Management Shell が PowerShell Gallery から取得できる件

以前にこんな記事を書きました。blog.karamem0.jpその後 SharePoint Online Management Shell については PowerShell Gallery からもインストールできるようになったようです。半年近く前の話なのに全然気付きませんした…。techcommunity.microsoft.comイン…

Binary Module (C#) でいい感じに Write-Verbose したい

この記事は「PowerShell Advent Calendar 2018」の参加記事です。qiita.comちなみに投稿が遅れたのではなく 16 日が埋まっていなかったので穴埋めしています。ここ重要! Write-Verbose について PowerShell では Verbose パラメーターを付けることでトレー…

PowerShell Core で Binary Module (C#) を開発するときの注意点について

この記事は「PowerShell Advent Calendar 2018」の参加記事です。qiita.comサンプルとして簡単な JSON を返すコマンドレットを持つモジュールを作成します。対象の PowerShell Core のバージョンは 6.1.0 です。 サンプル コード SampleModule.csproj <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>netc</targetframework></propertygroup></project>…

PowerApps PowerShell についてフィードバックを出してみた

5月30日に新しくリリースされた#PowerApps 用のPowerShellコマンドレットを利用すると、自分でも所有者は変更できるようになってます。Set-AdminAppOwnerリリース情報:https://t.co/dH1sfj6l3M— Taiki Yoshida | Microsoft (@TaikiYoshidaJP) 2018年6月12日…

PowerShell 実践ガイドブック 書籍レビュー

tech.guitarrapc.com気になったので応募したところ当選してしまいました!ぎたぱそ氏およびマイナビ出版の方にはこの場を借りてお礼申し上げます。ということで書籍レビューです。book.mynavi.jp PowerShell との思い出 もともと SharePoint をやってきたの…

SharePoint Online Management Shell がインストールする CSOM がいけてない

発端は Japan SharePoint Support Team Blog の記事です。blogs.technet.microsoft.com SharePoint Online Management Shell をインストールすることで、CSOM のモジュールもインストールされます。 はい、確かに SharePoint Online Management Shell をイン…

AppVeyor で PowerShell Core モジュールをデプロイする

AppVeyor で .NET Core のビルドができると聞いたので、PowerShell Core モジュールのビルドもできるんじゃね?ということで試してみました。 Environment 公式のドキュメントによれば [Visual Studio 2015] または [Visual Studio 2017] であれば .NET Core…

SharePoint 管理シェルで使用されている PipeBind オブジェクトについて

この記事は「PowerShell Advent Calendar 2017」の参加記事です。qiita.comSharePoint 管理シェルでは、例えば Get-SPWeb の Identity パラメーターに URL または ID (GUID) を渡すことができます。下記の例ではあえてキャストしていますが、もちろん文字列…

PowerShell Core に対応したモジュール開発環境を作ってみる

PowerShell Core が 6.0.0-beta になり .NET Core 2.0 に対応しました。いよいよ PowerShell Core も本格的になってきたので Visual Studio で PowerShell Core なモジュールを作成するための手順をまとめました。 MyGet への参照の追加 PowerShell Core の…

SharePointPnP.PowerShell Commands というものがあるらしい

github.comアルェー(・3・)

CSOM の Site.OpenWeb メソッドで File Not Found が発生する件について

CSOM で以下のコードのように同じサイトを作成したり削除したりを繰り返すと ServerException (File Not Found) が発生します。 最初はタイミングの問題かなと思ったのですが、スリープを入れても常に発生するので、そういう問題でもなさそう。 $context.Loa…

SharePoint Online の REST API を PowerShell から叩いてみる

この記事は「PowerShell Advent Calendar 2016」の参加記事です。qiita.com前回の記事で「REST API を Invoke-RestMethod で叩けるかも」と丸投げなことを書いてしまったので、実際にやってみたいと思います。blog.karamem0.jp OAuth についておさらい Share…

SharePoint を PowerShell から操作する方法まとめ

この記事は「PowerShell Advent Calendar 2016」の参加記事です。qiita.com今は SharePoint をメインでやっているこのブログもいつの間にか PowerShell タグがついた記事が結構増えているわけですが、SharePoint の構築や運用にあたって PowerShell は欠かせ…

Azure の仮想マシン (ARM) のネットワーク インターフェイスを変更する

Azure で仮想マシン (ARM) をポータルから作成するともれなくネットワーク インターフェイスが付いてくるのですが、面倒なことに作成済みのネットワーク インターフェイスに変更できないんですよね。そんなわけで PowerShell で変更してみます。 $vmName = "…

SharePoint 2013 ファーム ソリューション ファイルを一発で展開する

開発時によく使うけど忘れるので書きました。 ソリューションをアンインストールした直後は削除できないのでループで回すようにしています。github.com Add-PSSnapin "Microsoft.SharePoint.PowerShell" $path = "{{filepath}}" $name = [System.IO.Path]::G…

PowerShell で SharePoint 2013 の [サイトの機能] と同じ一覧を取得する

PowerShell で [サイトの機能] と同じように機能名とアクティブの状態を一覧で取得しようとしたのですが、ちょっとコツが必要だったのでメモしておきます。機能の一覧を取得するのは Get-SPFeature コマンドレットでできるのですが、範囲を指定しない場合は…

SharePoint 2013 の Excel Services で「ブックを開くことができません」と出る場合の対処方法

SharePoint 2013 ではアップロードした Excel ファイルを Excel Services によってブラウザーで開くことができます。しかし、Excel ファイルを開こうとすると「ブックを開くことができません」というエラーが出る場合があります。サーバーのイベント ログに…

SharePoint Online で更新日時の表示形式を「標準」にする

blog.karamem0.jpこちらの記事ではサーバー オブジェクト モデルを使っていたため SharePoint Online では動作しませんでしたので、クライアント オブジェクト モデルで書き直してみました。github.com [void][System.Reflection.Assembly]::LoadWithPartial…