お金をかけずに動画で説明資料を作ろう

 手順書作成してるとき,動画だったらわかりやすいんだろうなぁ~と思うことあるよね。

紙芝居だと説明しにくい時とか,動画ならな~と思う。

とりあえず,いつものようにPowerPointのスライドショーで動画作成すればいいよね~って感じで試してみたけど,自分のナレーションはちょっと嫌。スライド内の動画とタイミングを合わせるのは難しく,やっぱり動画編集ソフトが必要だよな~と感じますよね。

1.画面キャプチャの準備

出来るだけ画面の文字は大きい方が見やすいので,対象作業でスクロールや画面からはみ出ない低解像度に変える。タスクバーを消して,全画面で操作すると,スクリーンキャプチャー機能なんかでとってもそのまま使えるし,取り直すときもサイズが違った~って失敗もないのでお勧め。

2.素材を用意する

パソコンの操作画面なら,PowerPointの画面録画機能で操作画面を記録できます。
スマートフォン画面はビデオ会議の画面共有で録画できるね。
挿入したビデオは右クリックで「メディアに名前を付けて保存」で動画ファイルとして保存できます。

操作画面の静止画は,ステップ記録ツールを使います。設定で取り込みが画像数を増やして記録すれば,マウスクリックの度にキャプチャしてくれるので撮り忘れも防げてよい。

スライドショーとナレーションの録画はPowerPointの「スライドショーの記録」。スライドごとにナレーションが挿入されるので使い勝手がいい。自分の声としゃべりに自身があるならいいよね~

3.動画の編集とナレーションの挿入

世の中にはとっても便利な動画編集ソフトを無償提供してくださっている方がいる。
その名も「ゆっくりMovieMaker」
基本的な動画編集機能が揃っている上に東方キャラにによるナレーションが簡単に追加できる優れもの。合成音声は商用利用ライセンスの問題があるけど,Microsoft Haruka Desktopを使えば問題なし?

4.仕上げ

慣れない動画編集ソフトでタイトルスライドや静止画説明部を作るのは大変なので,使い慣れたPowerPointを使います。
スライドに素材や動画を張り付けて,アニメーション設定で自動再生できるように仕上げていきます。

最後にPowerPointのエクスポート「ビデオの作成」を使って動画ファイルを出力します。


うん,結構簡単にできた。
まぁ,仕上がり具合は作成者のセンスと努力によって決まるけどね!



憲法記念日だし

 日本国憲法はe-GOV法令検索で参照できます。

憲法記念日ということで,それらしいことをやってみる。
議論するつもりはないのでそのつもりでお願いします。

第9条,第2章戦争の放棄についてだね。国会議員はこれが大好物。

第2項の「陸海空軍その他の戦力は,これを保持しない」ってところが気になるよね。
自衛隊って一応"軍"ではないらしいけど,陸海空の3つに分かれている点がね~
その他戦力って表現だと,武器を所有する自衛隊は含まれるよね?
細かいこと言えば戦力になればだれでもいいので,拳銃所持する警察や漁師は対象だし,竹槍レベルで言えば一家に一本ある包丁の所有者も戦力かもしれない。

「前項の目的を達するため,自衛隊を組織し,武力衝突を回避し平和的解決するため,代表者対談の場を確保,双方の安全を守る」みたいな条文に変えるなら賛成だな~

第15条2項の「すべて公務員は、全体の奉仕者であつて、一部の奉仕者ではない。」って面白い表現だよね。奉仕者って何?ってところもあるけど,一部のって明示するところにどこに配属されても文句言うな!!ってことなのかな~と思った。

第18条「何人も、いかなる奴隷的拘束も受けない。」ブラック企業は憲法違反

第19条 「思想および良心の自由」思想はわかるけど良心の自由って,ごみの投げ捨てはOKって思想は修正したほうがよいのでは?

第20条 いかなる宗教団体も国から特権を受けって・・・俺も宗教団体作って特権受けるぜ!!って思ったけど最後まで読むと「受けてはならない」ってなってた。そりゃそうだ。

2項の行事に参加することを強制されないってのが問題のやつですね。子連れ参加

第21条 結社!! 秘密結社!! 世界征服をもくろむ秘密結社は憲法で守られているのか!!仮面ライダーなどで警察があまり登場しないのはそういうことだったのか!!

第22条 職業選択の自由だね。これ大事。

第24条 婚姻は両性の合意のみに基づいて成立ってことなので,昨今の同性婚あたりは改正しないと婚姻は出来ないってことか~

第25条 ドラマにもなった漫画のやつだね。健康の定義は何だ!!ってやつだ。

第26条 その能力に応じてひとしく教育を受ける権利 「その能力に応じて」ってところが深いよね~能力のないやつには等しく教育を受ける権利はないってことだ。

2項の普通教育と義務教育は違うのか?

第27条 「勤労の権利を有し,義務を負う」え?権利じゃなく義務って書いてある。国民の3大義務の一つがこれだね。勤労の権利があって義務があるから職安が権利を守っているのね~勤労の機会を提供できない職安は憲法違反になるのか~ともいえる。

第33条 任意同行のやつだね。第34条アメリカ映画の手錠かけるシーンのセリフだね。弁護依頼の権利を与えられるだけで拘留できるそうだ。

第36条 お!公立教師の体罰!!って思ったけど刑罰を禁止するだけだった。

第39条で再チャレンジ禁止が書いてあるけど,小出しにしたらダメってのはない

第40条 無罪の際の補償についてだけど,たぶん第27条の勤労の権利はすでに奪われているので復職をと思ったけど,昇給などは期待できないので,最低限の昇給テーブルを決め,冤罪の責任を取って警察の情シスとして雇用してほしいな~と思ってる。

第50条 国会中は逮捕されないってのは,警察が国会に介入するのを避けるためなんだろうけど,国会中の発言が無くなっても影響ないのでは?とも思うのでさっさと逮捕してほしい。

第54条 解散の日から30日以内に選挙が必要なんだけど,本当に30日以内に選挙は実施できるのだろうか?一度抜き打ちで試してもらいたい。

第62条 議員の海外旅行権だね

第63条 大臣はいつでも議案について発言するため議員に出席できるらしい。でも呼ばれたら出席しないといけない。大臣呼んでなんか分かるのか?といつも思うところだね。

第64条 でた!弾劾裁判!! なんか響きがかっこいい

第70条 年末にあったやつだね,なんで副総理が総理にならないんだろう?って思ったけど総辞職しなければならないのか~

正直第4章あたりから,辞めたくなってきた。こんな駄文いらないよね~

第86条 内閣は毎会計年度の予算を作成しって階段記念写真の大臣だけで作るんか?大変だな~と思ったけど内閣府ってのが存在するのを思い出した。

第88条 陛下や皇族のお小遣いは国会決議が必要っと

第96条 改正条件だね。国民投票または国会の定める選挙で過半数の賛成を必要。これも話題の条文だね。過半数の賛成の定義は書いていないので,有権者総数の賛成票なら絶対に改正できなさそう。投票数なら改正できる。

国民投票以外の「国会の定める選挙」ってのがあれだね,「国民に提案してその承認をえる」ってとこで国会でもう一回選挙して過半数は無理,総選挙で〇党と△党と□党の議席数が過半数だったら改正ってのはOKってことかな~

第100条 交付してから6か月で施行する。これ大事。会議承認されたけど,いちゃもんついて進められない案件とかあるよね~再度会議開催して覆すなら構わないけど。いや,それは大歓迎なんだけど,会議参加メンバーが進まない原因を知らないとかだめだよね~。ほんと。

第102条 参議院議員の半数の任期は3年とする。その半数ってのはどうやって選んだんだろう?もめなかったのかな~


と,一応日本国憲法全文を人生初めて読んだ。

改正してもいいかな~と思うところはいくつかあったけど,あいまいな改正条件を確定させるのはちょっと勇気がいるよね。絶対的に良い方向への改正ならいいけど,将来,よくない改正に利用される可能性もあるので,まぁ慎重にって感じで永遠に先送りなんだろうね~

それがいいような気がした。


ADMXがあればIntuneでもグループポリシー配布できるもん

一番信頼できる情報源としては docs を読むのが正解なんだけど,不安を感じたことを書き留めておくね。

1.ADMXファイルをインストールする必要がある

 オンプレだと "\\{Domain Server}\SYSVOL\{Domain name}\Policies\PolicyDefinitions" にADMXとADMLを保存したら展開が始まるけどIntuneの場合はデバイスの構成プロファイルを使って配布する。

 OMA-URIにADMXの内容を設定するんだけど,OMA-URIってなに?って感じだけど細かいことはDocsを読んでね。

 OMA-URIは次の値を設定するよ。

./Vendor/MSFT/Policy/ConfigOperations/ADMXInstall/{AppName}/{SettingType}/{FileUid or AdmxFileName}

ここで重要なのは {AppName} だけといってもよさそう。
{SettingType}は「Policy」で決定しているし,{FileUid or AdmxFileName}は同じ{AppName}内で競合しなければなんでもよさそうだったのでファイル名が無難ですね。

構成プロファイルを配布をするとレジストリに次のようなキーが2か所に作成される。「HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\AdmxInstalled\{UID}\{AppName}\Policy\{FileUid or AdmxFileName}」

「\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\AdmxDefault\{UID}\{AppName}~Policy~{CategoryName}~{SubCategoryName}」

必要なのは二つ目のキー。実際のADMXファイルを例にすると・・・

  <categories>
    <category displayName="$(string.googlechrome)" name="googlechrome">
      <parentCategory ref="Google:Cat_Google"/>
    </category>
    <category displayName="$(string.Extensions_group)" name="Extensions">
      <parentCategory ref="googlechrome"/>
    </category>

CategoryNameは<categories>内の<category name="googlechrome">です。
SubCategoryNameは,同じくCategory name="Extentions">から取得しますが,親子関係は<parentCategory ref="googlechrome"/> の場合は,Googlechromeの子であることが分かります。もしref="Extentions"になっていれば,~googlechrome~Extentions~xxxxって感じになるけど,この辺はレジストリと見比べる方が分かりやすいですね。

「\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\AdmxDefault\{UID}\{AppName}~Policy~googlechrome~Extensions 」ってなる。

2.設定を配布する

オンプレの「グループポリシーの管理」を手書きしてデバイスの構成プロファイルを使って配布する

「ExtensionInstallForcelist」を設定するOMA-URIは

./[Device|User]/Vendor/MSFT/Policy/Config/[config|result]/<area>/<policy>

<area>の部分は「{AppName}~Policy~googlechrome~Extensions」になる。

設定値の記述方法はDocsを参照してね

このように,{AppName}は設定時にも使われる値なので注意しようね。
値自体は何でもよいみたいだけどね。


オンプレの「グループポリシーの管理」と同じようなUIを提供してくれるとかなり楽になりそうなので,そのうち対応するんじゃないかな~と期待しています。



ねぇねぇ,その電子メール誰の許可を得て送ってるの?

 パスワード付きZIPの代替案でOneDrive for Businessを検証してるときに感じたんだけど,パスワード保護したら大丈夫とか,OneDrive共有してもよいって許可は誰が出しているんだろう?誰の承認を得たらこの運用を全社展開できるんだろう?

と考えてた時にパンドラの箱を開けてしまった。

「電子メールを送るのは誰の許可を得てるの?」

そういうのちゃんとしている企業もあると思うけど,「明示的に許可を得た」という記憶はない。一応,国内大手通信事業者で新入社員研修を受けたけど記憶にないよ。

そもそも,研修は注意点などは扱うけど電子メール送信許可となれば業務命令レベルなので,現場配属で出るものだよな~と。メールアドレスを発行した時点で暗黙的に許可しているともいえるけど,〇〇ポリシーとか色々あり,同意書とか求められる現代において情報漏洩の代用的な原因を暗黙的に許可を出すってどうかな~と思うよね。

この電子メール送信の裁量があればOneDrive共有だって良いのでは?共有停止もできるようになるので全く問題ないし,検討すること自体無駄じゃない?機能紹介だけで展開できないかな~と絶対却下されそうな案が生まれたんですよね。
どう考えても電子メールよりセキュアじゃん?

IT系システムって見えなければ無法地帯だけど,見えるようになった瞬間にガッチガチに規制する法則がある。

はっきり言って情シスや上司に ”ばれなければ” なんでもできる。(許されないけど)

WinMXやWinnyは禁止したいって要望は受けて通信止めたり指導したりしているけど,管理職からDropboxや個人OneDriveを制限しろは聞かない,むしろ使っているようだ。大きなファイル送りたいときに宅ふぁいる便系サービスを活用しているようだし・・・

なので,電子メールは問題にならなければ何やっても許されるツール代表ですね。

でもね,OneDriveの共有を展開提案したらセキュリティは大丈夫なのか?運用は回るのか?教育はどうするのか?何かあったときにどうするのか?などと超うるさいんだよね。比較で電子メールの問題を掲げていても”それは無視!!”

だからね思うんですよ。

電子メールは,仕組み的にセキュリティー面ダメダメでも全く問題ない。
最も信頼されたシステムなんだと。
電子メールに置き換えるシステムは存在しないと!!

我が家はWPA3対応

 WPA3 PersonalとWPA2-PSKの違いは事前共通鍵の扱いが異なるらしい。
詳しくはRFCを確認してほしいけど,WPA3は事前共通鍵から生成した一時鍵を使用して認証するため,認証パケットを傍受されても影響が少ないって解釈でよいのかな?

我が家の無線LANアクセスポイントは Aruba InstantOnを使っているので,WPA3も対応している。

このアクセスポイントに切り替えたときに,WPA3を有効化したんだけど,Surface Pro3が接続できないことが発覚したため,WPA2のみで運用をしてたんだけど。WPA3も使ってみたいな~ということで,SSIDを増やして"WPA2/WPA3"と"WPA2のみ"の2つを用意して,接続に問題がある場合のみ"WPA2のみ"を利用するように変えました。

我が家にあるWi-Fi対応機器すべてを設定したけど,心配していた2.4GHzのみ対応機器も"WPA2/WPA3"で接続できたのでSurface Pro3特有の問題ってことがはっきりしました。
Nintendo 3DSも"WPA2/WPA3"に接続できたけど,多分WPA2で接続してると思う。

ついでに"Guest”も公開してみた。
キャプティブポータルで利用許諾したら使えるようにしたのでちょっと〇〇モールみたいな感じだ。一応エリアは狭くなるように5GHz帯だけにしてる。

これを遊びに来た方のNintendo Switchやスマートフォンで利用できるようになったらいいな~という実験。必要な時にONにして提供してみようと考えてる。


と前半を書いてから半月経ちました。

結果,SSID「Guest」を公開してましたが止めました。

1.無線接続でGuestが最初に選択される動きを確認したこと。
キャプティブポータル承諾をするまでは接続しても通信が出来ないけど,リダイレクトによる応答が有るため,スムーズに無線LANへの切り換えが行われない

2.キャプティブポータルの認識度が低い?
イオンとかのFree Wi-Fiはキャプティブポータルを採用しているので大丈夫だよな~と思ってたけど,毎回説明しないと接続できない。まぁ,個人宅でって認識が邪魔している可能性はあるけどね~。そもそも,本来のターゲットにはあっていなかった。

3.Wi-Fiを借りるという図々しさがない?
我が家に遊びに来た子供がSwitchで遊ぶときに使う目的で用意してるのだけど,フォートナイトやりたいからWi-Fi貸して~っていう子はいない。外では出来ないとちゃんと認識しているようだ。こっちからWi-Fi貸すよ~と言わないとWi-Fi不要なゲームでしか遊ばない様だ。

昨日分かったこと,中学生になると言える勇気があるのか?初めてWi-Fi貸して~って言われた。ただ,「ゲストってのが出るからそれ使って」って言ったけど,「Guest」であることは認識できなかったようだ・・・

というわけで,Guestは認証なしで必要な時にONにするって運用にすることにした。
QRコードで告知するやつはまた今度試してみたい。

Slack Enterprise GridでDiscovery APIを使うためのメモ

Slack Enterprise Grid それはSlackの最上級のプラン。

ワークスペース作り放題なのでMicrosoft Teamsライクな使い方が出来る。

データのエクスポートはDiscovery APIとして提供され,プラスプランで提供されているCorporate Export は提供されていない。同様の作業は”セルフ”になる。

なんで提供してくれないんだろう?と文句をSlackに言ったことはあるけどね。


Discovery APIを使うためにはいくつかの手順があるのでそのメモ。Slack担当者に聞けば答えてくれるし,Grid契約の前に説明があると思うけど,その前に知りたい人向けってことで。

1.開発用環境をSlack担当者に依頼する

もちろん,プランはEnterprise Gridなのですべての機能を試せる
設定を試すとか,アプリのテストも出来るよ

2.Discovery APIを使用するためには本番と開発環境で有効化する必要がある。

まずは,開発環境で有効化しよう
プライマリオーナーにDiscovery APIのドキュメントが公開される
もらったURLからしか開けないので忘れないようにしよう。

3.アプリを作成する

作成したアプリのScopeにDiscovery APIを追加依頼を出す
scopeの選択肢には表示されないので,間違って消したら再申請?
アプリはオーガニゼーションにインストールしTokenを取得する
手順書はもらえる。ドキュメントにはなかったと思う。

4.Discovery APIを使って実施したい操作をする

公開されているSlack APIのつよつよ版なだけなので普通のAPIと一緒。
検索すればサンプルはいくらでも出てくるのでそれを参考にしよう。
当然だけどDiscovery APIのサンプルは出てこない

5.すべての情報を取得できるので,取得した情報の取り扱いは注意する

「通信の秘密」に該当する情報だと思うのでね。


依頼する手続きは最初以外は「/feedback」コマンドでよいのが楽で良いですね。
ちなみに/feedbackは9時~5時以外は英語の対応になるってのがグローバルって感じです。

DiscoveryAPIによるエクスポートで優れているのは,フルカスタマイズ可能なこと
特定期間だけのエクスポートはこれじゃないと出来ないらしい。

一般公開されているAPIでは出来ない自分以外のユーザーの会話を取得するなんてことも出来るので,監査などを目的とした場合必須だよね。


Slackのダイレクトメッセージを保管したい

PowerShellの情報って少ないよね~Windows10だと標準で動作するのでもっと情報が増えても良いと思うんだけど。

今日は,ダイレクトメッセージを保存しておきたいな~とふと思ったときに使えるスクリプトを招待するよ。チャンネルの取得も同じなので色々と使いまわしが出来るので覚えておこう。この記事の売りはもちろん,Pythonやcurlコマンドではないのですぐ使えるよ。

初めてWeb APIを触ったときはPython勉強しないとダメ?とかcurlコマンドで動くことは分かったけど次はどうすれば?って困ったんだけど,curlコマンドをPowerShellで記述できれば開発環境はWindows10標準のPowerShell ISEで十分なので困ることも少ないよね


https://api.slack.com/apps を開いてSlack appを作るけど,必要なUser Token Scopesは「im:read」と「im:history」と「mpim:read」と「mpim:history」だね。

添付ファイルも取得するなら「file:read」が必要。

アプリをインストールしたらOAuthトークンが手に入るので変数「$OAuthToken」に入れておこう。

$OAuthToken = "xoxp-XXXXXXXX"

ダイレクトメッセージを取得する準備としてチャネルIDを取得しないといけないので,次のスクリプトを実行する。今回は1対1のみを指定したよ。
3人以上のダイレクトメッセージならUriのtypes=をmpimに変更しよう。
成功したら ok : true,~って感じに表示されるよ。

$param = @{
    Uri = "https://slack.com/api/conversations.list?types=im"
    headers = @{
        Authorization = "Bearer " + $OAuthToken
    }
    Method = "GET"
}
Invoke-RestMethod @param | ConvertTo-Json

メッセージを取得する時は,下のスクリプトを実行するよ。
大切なのはさっき得られた結果の「id:」の部分を「channel=XXXXXXXX」のXX部分を変更すること。どの会話を取得するか指定しないとダメなので忘れないようにしようね。

$param = @{
    Uri = "https://slack.com/api/conversations.history?channel=XXXXXXXX"
    headers = @{
        Authorization = "Bearer " + $OAuthToken
    }
    Method = "GET"
}
Invoke-RestMethod @param | ConvertTo-Json

さて,うまくいったかな?

ファイルに保存したいときはこんな感じにするとよいね。
「Invoke-RestMethod @param -OutFile ファイル名」
変数に代入してごにょごにょするのもありだね。

私にはメッセージ送信したい要望はないけど,PowerShellで動作するメンテナンス用スクリプトの完了通知とかをSlackに送るとちょっとかっこいいよね。

ところで,今回は Invoke-RestMethod を使ったけど Invoke-WebRequest でも良いっぽい。前者はコンテンツだけ,後者はヘッダーなども含まれるのはわかるんだけど,これの使い分けって何だろうね~ってかんじ。

SharePoint アイテム保管ライブラリをのぞいてみよう(2025年12月改訂)

※2025年コンテンツ検索等の機能がリニューアルされましたので修正しました。 ※2023年アカウント移行に失敗し画像を失ったので再度取得し改訂しました。 Office 365 Advent Calendar 2021  の12月16日投稿です。 警告: 個人的な理解に基づく内容、...