2024年9月

2024年9月27日 (金)

Power Platform の HTTP with Microsoft Entra ID コネクターが 2024年8月末ごろに急遽廃止になったようです。現在、Power Automate で確認したところモダンデザイナーではそもそも旧コネクターがでてきません。コネクターの一覧でも "Deprecated" の文字があります。

20240927_182754

後継としてはすでに提供されている HTTP with Microsoft Entra ID (preauthorized) を使うことになります。ただ、API エンドポイントによってはどうも制限がされているようです。私のお客様からも利用できないエンドポイントがあるという話は耳にしています。この辺りは、下記の新旧コネクターの比較記事が詳しいです。

What is the difference between HTTP with Microsoft Entra ID and HTTP with Microsoft Entra ID (preauthorized) connectors? - Forward Forever

なお、Microsoft Learn のコネクター説明のページは 2024年9月27日現在、日本語ページに "廃止" については書かれていません。ただし、英語の方はすでに更新されおり、廃止に言及しています。

HTTP With Microsoft Entra ID (deprecated) [DEPRECATED] - Connectors | Microsoft Learn

ちなみにさきほどご紹介した Forward Forever の記事の下にコメント欄があり、あれこれやり取りされていますが、どうも廃止は急だったようでアナウンスもなかったようですね。私もあれこれ調べましたが、廃止のアナウンスは見つけられませんでした。コメント内でも "サポートに問い合わせたら Microsoft も知らなかったようだ" とも書かれているので、いつの間にか廃止になったようです。コネクターで deprecated になるものはたくさんありますけど、こんなに早く廃止されて使えなくなるというのは珍しいように思います。

ということで、これに関して日本語の情報が見当たらなかったので備忘録として記事にしておきました。

2024年9月26日 (木)

Adobestock_552355848_2

Power Automate では整数または倍精度浮動小数点数などの数値データを扱えます。

たとえば、変数を追加する際にこうしたデータ型を指定できるようになっています。次の画面は英語表記ですが、Integer(インテジャー)が整数、Float(フロート)が倍精度小数点数です。

20240926_153047

計算する

ではこうした数値データを使って計算を試してみましょう。たとえば、10÷5 を計算します。式としてはdiv関数を用い、「div(10,5)」となります。

20240926_150713

結果は2です。

20240926_151012

小数のある割り算

では、小数のある割り算を行ってみましょう。11÷5 を計算するため式は「div(11,5)」とします。

20240926_150850

結果は2.2 となるはずですが、2 となっています。

20240926_151012_2

整数同士の計算となり、結果は整数部分のみしか返ってきません。そのため小数が返ってくることもあることを前提にするために最初から11と5の数字を倍精度小数点数として扱いましょう。これには float関数を使います。式は「div(float(11),float(5))」です。

20240926_151251

結果は2.2となりました!
20240926_151313

ということで、結果が小数になる場合は変数として用意する場合もFloat型として宣言しておく必要があることがわかります。

ちなみに小数は16桁まで扱えます。次の図は割り切れない 1÷3を行っているところです。

20240926_151333

四捨五入

さて、小数を扱う場合、パーセントに置き換えるときなど四捨五入が必要なことがあります。これはどうやるのでしょうか? 試しに次のように 270÷366 を計算してみましょう。

20240926_151632

結果は次の通りで「0.7377049180327869」が返ってきます。

20240926_172735

ではこれを100分率にするためにmul関数を使って100倍し、整数のみにするために formatNumber関数を使います。式は「formatNumber(mul(div(float(270),float(366)),100),'###') 」です。

20240926_151904

結果は 74 となったことがわかります。もともと100倍すれば、73.77... だったわけですから、小数点第一位で四捨五入されたことがわかります。

丸め誤差

倍精度小数点数を使えるということですが、当然、丸め誤差が生じます。試しに「add(float(0.1), float(0.2))」を計算します。

20240926_154219

すると結果は 0.3 ではなく「0.3000000000000004」となります。20240926_154235

そこで利用したいのが decimal 関数です。変数を初期化する際には decimal は選択できないため式の中で利用する必要があります。式を「add(decimal(0.1), decimal(0.2))」とします。

20240926_155159

これにより結果は0.3 となります。

20240926_155217

まとめ

ここまで見てきたように Power Automate フローの中で演算を行う際にはデータ型に注意し、適切な型を明示して利用する必要があることがわかります。

2024年9月25日 (水)

Adobestock_522400980

Power Automate を使って複数の Excel ファイルを一括生成し、それぞれの Excel ファイルで特定のOffice Scripts を実行するようにフローを組んでいたとします。Office Scripts を実行するわけですから、 Excel Online (Business) コネクターを使います。このコネクターには次の2つのスクリプト実行アクションがあります。

  • SharePoint ライブラリからスクリプトを実行する
  • スクリプトの実行

20240925_190937

このコネクターに最初に追加されたのは「スクリプトの実行」であり、スクリプトはユーザーの OneDrive に格納されている前提でした。ですが、そのあと、スクリプトを SharePoint のドキュメント ライブラリに格納して複数ユーザーで共有利用ができるようになりました。そこで新たに追加されたアクションが " SharePoint ライブラリからスクリプトを実行する" です。

20240925_190421

さて、従来からある "スクリプト実行" アクションは、スクリプトがOneDrive (Business) に格納されていることが前提であるため同時アクセスは考慮されていません。

たとえば、ファイル作成をする際に Apply to each を使って処理するときに Apply to each には「コンカレンシー制御」オプションがあります。既定ではオフで最大50まで指定できます。

20240925_190644

これを使えばファイル作成をバトンリレー式に1つのファイルが作成されてから次のファイルを作成するという処理を複数のファイル作成を同時に一斉作成できるようになります。ならば、このオプションを有効にしてファイル作成後にいっきに各ファイルで Office Script も動かそうか考えるわけですが、この場合はスクリプトファイルへの同時アクセスが生じることになりフローはエラーとなります。

ですが、後発のアクションである「SharePoint ライブラリからスクリプトを実行する」を利用する場合は、最初から複数同時アクセスを考慮しているため Apply to each のコンカレンシー制御を有効にしても問題なくフローが実行できます。

試しにコンカレンシー制御をおこなわずに5つのファイルを一括作成してみたところ、Apply to each には42秒ほどかかりました。

20240925_190615

ですが、コンカレンシー制御を有効化したところわずか9秒に短縮されました。

20240925_190724

このようにコンカレンシー制御はフローのロジックによって向き不向きがありますが、うまく活用できればフローの実行時間が短縮できます。

2024年9月21日 (土)

[単なる備忘録]

Power Apps モデル駆動型アプリで、マイアプリから削除しようとするとエラーで削除できず。ソリューションから削除しようと既定のソリューションを開いて削除しようとしてもエラー。依存関係を確認するも特に影響しそうなものはない。あれこれ調べて結局、ソリューションをクラシック表示に切り替えて当該アプリをソリューションから削除してみたら削除ができた。

20240921_170053

でモダンになぜかアプリが残っているので、これを再度削除するとすっきり削除できた。モダン画面のバグではないかと思うのだけれど理屈はよくわかりません。

ということで、また削除できなかった時のための自分向けの備忘録でした(もしかしたら同じ状況になる人もいるかもしれないので一応公開してみました)。

Adobestock_577878739

2024年9月20日付で、WSUS (Windows Server Update Services: ダブルサス)非推奨 (廃止になることがアナウンスされました。このため Microsoft は新しい機能への投資は行わずWSUSに対する新機能のリクエストも受け付けなくなります。

Windows Server Update Services (WSUS) deprecation - Windows IT Pro Blog (microsoft.com)

とはいえ、現行の提供している機能自体は維持され、WSUS チャネルを通じて更新プログラムの提供自体は継続されます。WSUSチャネルを通じて提供されているコンテンツもサポートは続くとのこと。

要するに今回の廃止のアナウンスとしては WSUS の開発への投資を凍結したことを明言したうえで、いきなりやめるのではなく、猶予期間をもって別のツールへの緩やかな移行を促していくということですね。そのため Microsoft Configration Manager の木資本の機能やサポートへは影響しない。

さて、肝心な移行先ですが次のクラウドツールへの移行を促しています。

クライアント更新管理
  • Windows Autopatch
  • Microsoft Intune
サーバー更新管理
  • Azure Update Manager

🍵四方山話

WSUSといえば、私は日本の mstep での最初のコンテンツ作成と実施をやったんですよ。懐かしい。ちょうど Windows XP が最盛期のころで、Windows XP / Office XP の展開のコンテンツ開発を依頼され、それとともに WSUS についても紹介することになったわけです。当時はまだ20代の若手でしたし、入手した英語の資料と実機での検証とで格闘しながら、なんとか1dayもののコンテンツを作成したなぁという思い出が。展開の研修に関わったのはこの時期だけでしたが。

さて、Windows XPのころですから2002年ころのことで、あれからもう四半世紀近く経過したのかと思うと感慨深いですね。諸行無常の響きあり、といったところ。


そういえば、ちょうど同じころに IRM, RMS も出てきた。こちらは Microsoft Purview に引き継がれている。