PowerAutomateDesctopの小技メモ

こんなツールが無償とはすごいわー。MSさんほんとすごい

0始まりの数字を扱うときは電話番号にする

社内システムあるあるの0始まりIDなどを扱うときは数字ではなく
電話番号として読みこませるとよいです。
数字とした場合などは「012345」→「12345」となってしまいます。
なお、この電話番号としてのルールですが頭0を許容した数字文字列のようで
桁数の制約はないようです。

通知ポップアップの戻りは「はい」「yes」でもなく「Yes」

通知ポップアップで選択させた場合の戻り値は文字列。
列挙型とかないのかなー

画面操作が早すぎるときはWait

当たり前ですが、たまに操作が早すぎて元サイトが反応できなくなるので適宜Wait

ExcelScriptでJST変換

ExcelScript便利。
いろいろ使うのですが、実行場所に左右されるとかもあって時刻の変換がめんどい。
なのでいつかなるときでもJSTを取得する方法

let jstDate = new Date(time + ((new Date().getTimezoneOffset() + (9 * 60)) * 60 * 1000));

オフセットを1回取得して、補正をしつつさらにJST補正をかけてあげればOK.
なんで .getJSTとかそういうのがないのかなー。そういうもんなの?

PowerAutomateからOneNoteに書き込む際のテクニック

PowerAutomateめっちゃ便利。
なのでがりがり使いたいのですがproduct連携部分は何かと説明がないので試行錯誤になりますね。
今回OneNoteとの連携についてはまったところがあったので解消方法をメモ

1、タイトルの設定
PowerAutomateからセクションにノートを作成するとタイトルがつきません。
また画面上もタイトルを設定する枠などがないのでどうしたことかと思っていたらHTMLで書くことで対処できました。

こんな感じ

<html lang="ja-jp">
	<head>
		<title>タイトルだよ!</title>
	</head>
<body>
	ここに本文!
</body>
</html>

OneNoteが中身はHTMLで定義というのがびっくりですねー
Teamsのファイル共有とか中身は全部SharePointだしMSのプロダクトは面白い。

2、特殊文字
タブなり、特殊文字を使う場合もHTMLだとわかればpreタグとエスケープ文字で使えます。

 TAB文字  & # 009;

ShellスクリプトのCPU利用を制限する

本番機とかCPU利用率の監視が入っているマシンで
調査でコマンド打ったり運用シェルやを動かしたときにCPUが跳ねてアラートとぶのは嫌なので
tasksetでコアを絞ってCPU利用率にキャップを付けましょう。

普段打っているコマンドの前に

taskset -c 0,1 main.sh 

とかしてあげるだけで、コア数を制限できるので4コアマシンなら最大50%までしかいかなくなる。

地味だけどこういうのは便利

Log4jの脆弱性

github.com
金曜にぶっこんでくるとはなかなかです。
Log4jとかメジャーすぎるライブラリでしかも攻撃も簡単とかマジ困る。。

ちょいと調べてましたが、中の仕組みは日本語解説だとこのPageがわかりやすい

今回問題となっているのはJndi Lookupだ。これはJavaJava Naming and Directory Interfaceによる変数名の置換で、ネットワーク越しに変数に相当する値を検索することができる。その中にLDAPも含まれる。例えば"${jndi:ldap://someremoteclass}"のようになる。

問題は、このURLに.を含めることにより、lg4jは任意のリモートのLDAPサーバーからjava classファイルをダウンロードして読み込んでしまうのだ。

https://ezoeryou.github.io/blog/article/2021-12-10-log4j.html

LDAPから読みこむ仕様があったなんて全く知りませんでした。
便利機能は諸刃の剣ですね。ほんと。

1系は単体のLookUpがないのでJMSAppenderがこの引き金になるぽい。

Amazonギフトカードでは予約商品が買えない。

変えないのは良いんだけど、

We are sorry. Something went wrong with your purchase of this product. Any bundle discounts associated with this product will not be applied in this purchase.

っていうエラーメッセージは分かりにくいから改善すべし!!
予約商品はクレジットカードで買って!ってなんで表示しないのか。

リモートデスクトップ先のPCをショートカットキーで素早くロックする

VDIも一般化してきましたし、テレワークでリモートデスクトップ多用していますが、リモートデスクトップで仕事しているとちょっと離席するときとかに「Win+L」でロックできないのでちょっとめんどい。
「Ctrl+Alt+End」でリモート先のセキュリティオプションを呼び出してもいいのですが、間違えてシャットダウンとか選んでしまうと大惨事なので安全に行きたい。
とすると自分でショートカットを作ってとショートカットキー(ホットキー)設定をしちゃいましょう。

シャットダウンするバッチの作成

まずはシャットダウンするバッチを作りましょう
以下のような1行のバッチファイルを作ります。

rundll32 user32.dll, LockWorkStation

試しに動かしてみると無事ロックされるはず。
これを「lock.bat」などとします。

ショートカットキーの割り当て

上記のlock.batのショートカットを作りましょう。そして適当な場所に保存。
 #場所を後で買えるとうごかなくなるはずなのできをつけましょう
ショートカットを右クリックして「プロパティ」→「ショートカット」→「ショートカットキー」で任意のショートカットキーを設定。
例えば「Ctrl+Alt+L」とかを設定。
これで完成

お試し

あとは好きな時に「Ctrl+Alt+L」をおすだけでロック!これでいつでも離席できますね!