SE(しがないエンジニア)のブログ

IT技術ネタ(クラウド・セキュリティ周り)が中心です!他雑記(お馬さん 他いろいろ)もあり。

Azure Arc (Preview) に触れてみる

先日の Microsoft Ignite にて

当ブログでも取り上げましたが、アメリカのオーランドで開催された Microsoft Ignite にて Azure Arc というサービスが紹介されていました。「コレなんぞや?」というところに関してはサービス紹介記事を別途あげているのでご覧下さいませ。

btsn.hatenablog.com

Azure Arc (Preview) を試してみる

現状はまだGAされておらず、Preview 状態です。ただ、試すことは出来るので概要を知るために下記サイトを参考にして。

クイック スタート - サーバー向け Azure Arc を使用してマシンを Azure に接続する - ポータル | Microsoft Docs

対象となるOSとして

Windows Server 2012 R2 以降

Ubuntu 16.04 および 18.04

が挙げられており、今回は前者の Windows Server 環境で試してみます。

 

まずは、https://aka.ms/hybridmachineportal にアクセス。未だこの時点では Azure Arc のターゲットとなるマシンは存在しない為、「追加」を押下します。

f:id:btsn:20200204222521p:plain

続いての画面に関しては「大規模に~~」というのが今回の趣旨ではなさそうなので「対話型スクリプトを使用したマシンの追加」を選択します。スクリプトの生成に関しては下記の形で作成しております。「地域」に関してはメタデータの格納場所になりますが、本日時点では「西ヨーロッパ」・「東南アジア」・「米国西部 2」の3カ所のみです。

f:id:btsn:20200204223156p:plain

その後の確認画面ではサブスクリプションの登録の為に「登録」を押下、その間にスクリプトを対象の Windows Server 側で PowerShell で実行しましょう。ちなみにファイルをダウンロードするのでカレントパスは適宜移動しておいて下さいませ。(スクリプトの3つ目に関しては自環境の情報が含まれるので意図的に隠しております。笑)

f:id:btsn:20200204224529p:plain

3つ目のスクリプト実行を行った際に URL と コードが表示されるので(別マシンのブラウザでもOKなので)URL 入力してコードも入力しましょう。

f:id:btsn:20200204230914p:plain

f:id:btsn:20200204230925p:plain

この通りに進行すると PowerShellWindows Server 側)の画面では数十秒後にレスポンスが戻ってきます。

level=info msg="Successfully Onboarded Resource to Azure" VM Id=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

 完了し次第、Azure Arc のホーム画面に戻ると・・・・?

f:id:btsn:20200204231607p:plain

無事追加されていました!Azure の Portal 上に自マシンがあると変な感じですね。笑

今後の動向も含めてチェックしていこうと思います!

追記(Appendix)

2020/02/05

死活監視としてオフラインになるまで20分弱かかったような。ドキュメント上では「5分以内」との記述があったのですが環境のせいなのか。。

f:id:btsn:20200205002342p:plain

ターゲットに対するポリシー(準拠しているかどうか)の適用ができますが、下記のような画面になります。印象としては「オンプレ < クラウド」寄りのポリシーが多い?感じです。

f:id:btsn:20200205095049p:plain

ブログ URL を独自ドメインから通常のものに戻しました

タイトルの通りとなりますが

当ブログの URL を独自ドメインから通常のものに戻しました。

(独自)https://www.btsn.xyz/

(通常)https://btsn.hatenablog.com/

記事の内容に関しては路線変更等ありません!今後とも、宜しくお願い致します。

 

*暫くの間は「独自」側の記事にアクセスしても「通常」側に転送されるようにしております

追記(Appendix)

2020/02/22

(ついでにで)しれっとですが本日より「はてなスター」を再開するようにしました。深い意味は無いですがまた宜しくお願い致します!

プリザンターでサイトのデータ更新後に別サイトのデータも更新したい場合

ちょっとした Tips です

以前よりプリザンターに関する記事を数記事上げておりますが、最近はどっぷりとプリザンターに触れることがあるため少しずつ Tips を上げていこうと思います。

 サイト更新後に別サイトも更新したい場合の Tips

早速サンプルスクリプトですが下記を参照下さい。処理内容に関しては一通りコメントに記載しております。

$p.events.after_send_Update = function (args) {
    // 対象となるサイトのID
    var hogeId = "(siteId)";

    // 対象となるレコードを全て取得し update する
    var getJson =
    {
        'id' : hogeId,
        'data' : {
            // 対象のテーブルに対して更新する権限を持つ APIKEY を利用する
            "ApiKey": "(APIKEY)",
            "View": {
                "ColumnFilterHash": {
                        // 「$p.id()」は現状更新しているレコードの ID を指す
                        // (レコードの ID はキーとなるものを指す)
                        "ClassY": $p.id(),
                    }
                }
            },
        'done' : function(data) {
            if (data.StatusCode == 200 && data.Response.Data.length > 0) {
                for(var i in data.Response.Data) {
                    // ColumnFilterHash 対策(部分一致のみな為)
                    if($p.id() == data.Response.Data[i].ClassY) {
                        var updateJson =
                        {
                            'id' : data.Response.Data[i].ResultId,
                            'data' : {
                                    "ClassS": $("#Results_ClassA").val(),   // 更新したいデータ1(一例)
                                    "ClassT": $("#Results_Title").val(),    // 更新したいデータ2(一例)
                            },
                            'done' : function(data){
                                if (data.StatusCode == 200){
                                    // 処理なし
                                }
                            },
                            'fail' : function(){
                                alert("API Failed : hogehoge(update)");
                            }
                        }
                        $p.apiUpdate(updateJson);
                    }
                }
            }
        },
        'fail' : function(){
            $("body").css({ visibility: "visible" });
            alert("API Failed : hogehoge(select)");
        }
    }
    $p.apiGet(getJson);
}

スクリプト内での注意点は以下の通りです。

・「更新」ボタンを押下した後の後処理として「$p.events.after_send_Update」を利用します

Pleasanter ユーザーマニュアル - 開発者向け機能:スクリプト機能:$p.events.after_send

・現状のプリザンターの仕様では API 経由の一括データ更新ができないため、(単一または)複数の取得したレコードを1件1件更新する形となります。

API 実行のオーバーヘッドは詳しく分からないですが早く一括更新に対応してほしいところ。。

・「ColumnFilterHash」に関しては現状の仕様で部分一致のみの為、SQL の where にあたるキーが完全に一意でない場合、取得した値はスクリプト側(JavaScript)にて完全に一致しているもののみ処理対象としております。

➡早く完全一致に対応してほしい。。(デフォルトが完全一致でオプションで部分一致にするとか)

追記(Appendix)

2020/02/05

「ColumnFilterHash」に関しては解釈の違いがありました、スミマセン。対象の項目が数値の場合は完全一致になるようなのでID系のように定めているフィールドに対しての検索は問題ないようです。

MOTEX Afterdays@東京に参加(+登壇)しました

MOTEX DAYS 2019 の延長線上にて

昨年 10/16(水) に MOTEX DAYS 2019 の事例発表会に登壇させて頂いたのをキッカケに MOTEX 様が運営するコミュニティに参加させて頂くことになりました。関西方面では既に第一弾が開催されていたのですが、本日は東京が第一弾でした!

lanscopeusers.connpass.com

私のような(ひとり)情シスの業務を下支えしてくれる LanScope Cat 活用法を皆で Give & Take するというのが当コミュニティの運営趣旨です。

実際に得られた発見・知見

MOTEX の間嶋様のセッションは利用法として「そんなこともできるのか!」と知見を得たセッションでした。ちょっとマニアックなのですがレジストリの値を LanScope Cat で取得する手法です。普段の業務ではレジストリの値を気にすることは無いのですが「あったらあったで便利だな」と感じてました。実はそれが出来るなんて。コレは今、猛威を奮っている Emotet が Word マクロに起因して発生する問題でとあるレジストリ値がどうかを確認することで Office Word でのマクロの扱いが確認できるとのこと。実際 Word や Excel でマクロを利用する文化はまだまだ数多く残っており Emotet を防止する意味でも JPCERT の推奨を守る意味でも確認した方が良さそうです。(JPCERTの推奨=「警告を表示して~~」、NG=「すべてのマクロを~~」)

 

他には Ver 9.0 から搭載されたカスタムアラームの利用法について。勝手な想像ですがメジャーバージョンアップ(8から9)にて当機能はかなりの目玉だったのかなと思います。今まで複合要因のアラートは拾えなかったものの当機能を利用することで拾えるようになったのはかなりの革命?というわけでありまして。登壇者の方曰く、テンプレートを利用しているというよりは「目的を持ったカスタムアラームを作ることが重要」とのことで自社でも早速活用していこうと思います。ちなみに、JSON が分かる人であれば複合要因の数を増やせることができるだとか。MAX は「3」で「4」は無理とのことですが。いずれにせよ、増えることで負荷が上がってしまいそうですね。笑

 

最後(大トリ!)の MOTEX 黒石様のセッションは今後の LanScope Cat のバージョンアップに関するお得情報の紹介ということで、コミュニティに参加するならではの中の方情報を教えて頂きました。それ以外に隣に座っていたこれまた MOTEX の丸山様とのお話で Splunk との連携によるデータ可視化のことをお伺いし、内容としてかなり興味深かったです。その後のネットワーキングも中の方との交流(技術的な見解)を含め、参加して下さった他社の皆様と名刺交換等もできて大満足でした。

 

*黒石様のセッション Only で試験的に行っていたテロップが流れるサービスは面白かったです(名前忘れた・・・・。)

今後のコミュニティに関して

折角、ご縁あって始まったということもありまして、ゆっくりゆっくりと人を増やしていきつつ盛り上げて行きたいなと思います。あとは(最近あまり Cat を触れてないので一段落したら)Cylance や Syncpit に触れたりして機会あればまた前でお話したいと考えてます!

 

*ちなみに、今日は15分のところを20分ちょい話してしまい(猛)反省。そもそも、事例発表会の時が20分だったのにそれに軽く肉付けして15分に詰めようとしたのが間違いでした。泣

Chronium ベースの Edge を体感する

Edge が Chronium ベースに!

昨年12月の Microsoft Ignite The Tour でこれに関するセッションを拝聴していたのですが、予定通り日本時間では本日2時頃?に無事リリースされていたようです。

Microsoft Ignite The Tour Tokyo に参加しました Day 1 - SE(しがないエンジニア)のブログ

ちなみに、現状のダウンロード先はこちらから。

https://support.microsoft.com/ja-jp/help/4501095/download-the-new-microsoft-edge-based-on-chromium

ダウンロード・インストールは特段迷う事はなさそうなのでスクリーンショットは割愛致します。(最近のインストーラはサイズ自体が小さくて残りはインストーラ立ち上げ後のダウンローダ、というのがメインなようですね。Chromeもそう。)

触ってみた所感(随時追記)

Ignite The Tour の内容をベースに所感をまとめようと思いますが、間違い等がありましたらご指摘お願い致します。

f:id:btsn:20200116102851p:plain

・「e」という形は維持されている感じもあるのですが「e」感がなくなりましたよね

f:id:btsn:20200116110010p:plain

・赤枠で囲んでいる部分はオンプレ AD のログイン名が出ている感じでした。ただ、設定を見る限りではこの職場アカウントは同期が取れないようです。しょんぼり。

Google Chrome から情報をインポートしてみましたがお気に入りはインポートされたもののログイン情報は一部?インポートが失敗したようです。

f:id:btsn:20200116110954p:plain

・左が Edge で右が Chrome のバージョン情報、79のメジャーバージョンは一緒なのですが以降のバージョンは若干のズレがあるんですね。ちなみに Apacheアクセスログで抽出した結果の UA は下記のようでした。(一部抜粋)

"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36 Edg/79.0.309.65"

Ignite The Tour の際にも取り上げた話ですが、Edge 関連の GPO に関しては下記のページよりテンプレートがダウンロードできるようです。組織内で Edge の設定等で制御したい場合は是非。

https://www.microsoft.com/en-us/edge/business/download

f:id:btsn:20200116132713p:plain

・「F12」キーで開発者モード?が出るのは一緒なのですが、試しに同条件(タブ数1)で「Network」タブの Finish 時間を見てみました。「https://www.btsn.xyz/」で描画したところ気持ち Edge の方が早かったのですが飛びぬけた差はありませんでした。

グループポリシーを学ぶ

グループポリシーを学ぶ前に

グループポリシー自体はあくまでも Active Directory(以下AD) 内でコンフィギュレーション管理をするための手段であり、その AD がいつ頃から存在したのかを知る必要があります。下記の記事が歴史を知る上で非常に良くまとまっていて参考になります。

カリスマITトレーナーが見てきたActive Directory 15年の変遷 (1/4):過去、現在、そして未来へ! AD進化の歴史を振り返る - @IT

最新の Windows Server 2019 でも勿論 AD の機能は主要機能として存在していますし、初期の 2000 の頃から考えても、優れた設計思想で作られたということに関心します。

ちなみに、AD を運用している企業内のクライアントPCはドメインというユーザーやコンピュータの管理体に参加してデータベース化されます。そのデータベース化されたユーザーやコンピューターに対して制御を行うものがグループポリシーになります。(かなり噛み砕いた説明になりますが)

仮に10人の組織体の場合であれば同じ設定を10回施すだけで良いのですが、100人の組織体に同じ設定をしてくださいどうぞ、となった場合は作業コストを考えるだけでゾッとしてしまいます。これを100人に対して実施してくれるのが前述の仕組みです。

本題に入ります

実は当ブログの過去記事でもこのグループポリシーを利用した制御を数例挙げているのですが改めて挙動を含め調べてみたいと思い、原点に立ち返った記事を作成してみました。

Active Directory環境下でGPOを利用してスクリーンセーバーを設定する - SE(しがないエンジニア)のブログ

これはほんの一例であり、2012 R2 / 8.1 での組み合わせの際で管理用テンプレートが「3631」だったとのことで今は 2019 になっていますしその数は「4000」を超えているのかなと。それくらい細かく制御できるということなのですね。

ちなみに、グループポリシーを学ぶ上で下記の分類は押さえた方が良さそうです。

ポリシー

基本設定(GPP ・・・ Group Policy Preference)

f:id:btsn:20200113001859p:plain

実は「基本設定」の方は全く利用していなかったのですが、2者には4つの違いがあります。

☆強制力

「ポリシー」➡一部の例外を除きクライアント側の設定画面で変更不可。強制力有。

「基本設定」➡設定した項目はクライアント側で設定変更可能。強制力無。

☆適用範囲

「ポリシー」➡GPOをリンクしたコンピューター/ユーザーアカウントすべて

「基本設定」➡「ターゲット」機能で特定の条件に当てはまるものに絞れる

☆設定方法

「ポリシー」➡定型画面から「有効」・「無効」にて切り替える

「基本設定」➡ポリシーより細かい設定が必要

☆復元性

「ポリシー」➡GPOのリンクを削除・無効にした場合は適用前に戻る

「基本設定」➡設定が戻らないので適用前に戻すためには再設定が必要

4点目の復元性に関してなぜこのようなことが起きるかというとポリシーは通常のレジストリ領域に触れるのに対して基本設定はポリシー向けのレジストリ領域に触れています。(この辺は別記事で検証してみる予定です)

ちなみに上記の GPO(Group Policy Object) に関しては「ポリシー」とはまた別の意味でポリシーや基本設定を集めた集合体として捉えて頂ければ大丈夫です。

設定したグループポリシーはクライアントにどう適用されるのか?

これは古くから変わっていないようなのですが、

☆コンピュータ ・・・ コンピュータの起動時(レジストリ:HKLM)

☆ユーザー ・・・ ユーザーのサインイン時(レジストリ:HKCU)

以降は 90~120 分の更新間隔で更新がかかります。(ドメイン間の更新間隔は5分)

f:id:btsn:20200113004443p:plain

[コンピュータの構成]➡[ポリシー]➡[管理用テンプレート]➡[システム]➡[グループポリシー]に変更できる項目もありますのでよかったらご参照下さい。なお、即時反映したい場合はみんな大好き?な下記コマンドをクライアント側で実行することにより適用可能です。(要管理者権限)

gpupdate /force

 ちなみに、ポリシーの適用はプッシュではなくプルです!「ガチガチの設定にするためにプッシュで送り込んでるんやろ!」というイメージは持ちませんように。。

 プルされたものは「%systemroot%\System32\GroupPolicy」に構成され、最終的にレジストリへ適用される形となります。

ちょっぴり(十分?)マニアックではありますが下記のサイトからダウンロードできる Excel 表にてレジストリとの対応表を確認することが可能です。

Download Group Policy Settings Reference for Windows and Windows Server from Official Microsoft Download Center

 

と、ここまでで取り上げている部分はあくまでもグループポリシーの導入部分なのでまだまだ奥の深い世界、これからも追い続けたいと思います!(継承他 etc...)

Thunderbird のダークモードを解除する(Windows 10)

2020年になりました、今年も宜しくお願い致します。

2020年になっての初投稿なので年始のご挨拶をさせて頂きます。私の場合は9連休基本グダグダしたまま過ごしてしまいました・・・・ハイ、一番いけない過ごし方ですね。そして、本日が年始初出勤でしたが案の定、あまり頭が回りませんでした。笑

「明日から本気出す」をモットーに毎日頑張ろうと思います。(ぉぃ

Thunderbird のダークモードが見にくいやないかい!

Thunderbird のとあるバージョンから急にダークテーマ(元は白)に切り替わったのですがこれが割と見にくくて。マイナーバージョンアップでUI改善もされているようなのですが元の白に戻す方法を共有致します。私の場合ですが標準?は Thunderbird のテーマが「既定」になっており、OSの配色設定に依存します。

1. Windows 10 側のダークモードを保持しつつ戻したい場合

[三(メニュー)]➡[アドオン]➡[アドオン]より[テーマ]で「Light」を有効化する。

f:id:btsn:20200106224515p:plain

上記画像は既に有効化状態なのでボタンは「無効化」となっております。

2. そもそも Windows 10 側のダークモードを解除する

こちらは根本からということで。

f:id:btsn:20200106230725p:plain

[設定]➡[個人用設定]➡[色]にて「白」を選択

f:id:btsn:20200106230825p:plain

同じ画面にて「カスタム」を選択してアプリモードのみ「白」を選択

 

のいずれかになります。この辺は好みがあると思いますので。以上です。

【雑記】2019年 IT系ニュースの振り返り

2019年が終わろうとしています。。

あっという間に年の瀬、2019年が終わろうとしています。皆さんにとって2019年はどんな年でしたでしょうか?そして、来年2020年はどんな年になりますでしょうか?当ブログを見に来て下さっている皆様にとって、来年2020年が良い年になりますように!

あと僅かですがIT系ニュースの振り返りを

とあるサイトでIT系ニュースのアクセスランキングがまとめられていたので抜粋して自分自身が気になったネタを取り上げてみます。

tech.nikkeibp.co.jp

2位 週休3日制でも生産性4割向上、日本マイクロソフトが新施策の成果発表

働き方改革の先駆けとも言える当施策はかなり大きめのインパクトだったと思います。O365のツールをはじめとしてより良いインフラを提供する企業がお手本として先駆け生産性4割を向上させたという記事でした。「マイクロソフトだから・・・・。」というだけでなく、真似をして吸収できるところからまず開始するのが第一歩ですね!

週休3日制でも生産性4割向上、日本マイクロソフトが新施策の成果発表 | 日経 xTECH(クロステック)

4位 スシローで「消費税0%」のシステム障害、増税どころか「免税」に

消費税が増税すると必ず?といっていい程、どこかしらでシステム障害が起きてしまうわけですが今回はスシローが増税ではなく「免税」というところで斜め上の展開でニュースになってしまいました。スシローというと私のイメージの中ではIT関連のシステム化が進んでいる印象が強かったのでこのニュースは意外でした。結果としてお客様が得をするわけだったので事無きを得たわけですが、これが多く支払いしていたら、と思うとぞっとするニュースですね。。(私も前職はPOSを扱う企業だったのでこの辺の話には非常に共感してしまいます)

スシローで「消費税0%」のシステム障害、増税どころか「免税」に | 日経 xTECH(クロステック)

11位 「33自治体のデータがIaaSから消失」、日本電子計算がシステム障害の詳細明かす

このニュースは割と直近のニュースだったので記憶にも新しいところだと思います。自治体のサービスでこれほど長期にダウンした例もなかなか無いのではないでしょうか?とはいえこれは良い教訓としていつ自分自身の身の回りで起きてもおかしくないと気を引き締めるべきニュースだったと思います。(12位も関連のニュースだったので世間の皆様の関心度は非常に高かったのだと思います(12月でランクインしていることも驚き))

「33自治体のデータがIaaSから消失」、日本電子計算がシステム障害の詳細明かす | 日経 xTECH(クロステック)

似たような時期に下記のニュースも話題になったので添えておきます。

HPEのサーバー向けSAS SSD、稼働32,768時間超えでデータ喪失。復旧も不可 - PC Watch

14位 技術者不足の衝撃実態、従来型IT人材は2030年に10万人余る

この手のニュースは1 or 2年に一度必ず取り上げられているような気もします(最近でいうとセキュリティ人材の不足とか)がこれはキャッチーなタイトルのニュースでした。年が明けてから丁度10年後のこの業界は10万人の余剰を出してしまうのでしょうか?結局のところ、このようなネタに躍らされずに着実にスキルのサイクルを取り込んでいくエンジニアが残っていく世の中なのだと思います。

技術者不足の衝撃実態、従来型IT人材は2030年に10万人余る | 日経 xTECH(クロステック)

関連するニュース(6位)でこの業界に限らず、今年は大企業でも「早期退職(40歳・45歳・50歳)」という言葉が駆け巡った一年だと思います。経営陣としてはコストを圧縮したい世代であり、個人的にはこの動きが来年も続くのではないかと思います。これが吉と出るのか凶と出るのかは神のみぞ知るわけですが、自分自身も生き抜くために努力を続けなければならないなと感じました。

 

と、2位以外は障害だったり雇用の話だったりとネガティブなニュースが多かった(アクセス数が多くなる傾向もあるとは思いますが)わけですが、来年はもっとIT業界にとって明るいニュースが増えればよいなと感じます。そして、何度も繰り返しているわけですが(笑)自分自身も気を引き締めてステップアップしていきたいと思う所存です。

【雑記】2019年の振り返り & 2020年の目標

この時期になると・・・・。

世間的には今日・明日あたりから急に電車が空き始めます。今年は暦通りにいくと9連休になるため、前後で休みをくっつけて10連休以上にする方も多いのでは?

かくいう私は前職の場合、流通小売系の会社の社内SEだったため、在職中は大体1/1とかは出勤してました。現職、そして今年は有難く9連休の恩恵に与ろうと思います。(サーバ落ちやらで緊急出動がない限りは。笑)

2019年の振り返り

今年は個人的に模索しながら動き始めた年でもあった気がします。ざっくりと時系列で追いつつ、振り返っていこうと思います。

~~~~~

2019/02 ・・・ とある機会をキッカケに色々と現実を知る。笑

2019/03 ・・・ アウトプットの場を求め、はてなブログ(PRO)を始める。

2019/06 ・・・ マイクロソフト主催のセミナーを皮切りにセミナー参加活発化

       (Jazug は 2019/07 から参加、09は週末開催で参加できず。。)

2019/06 ・・・ クラウド初心者だったので Azure のサブスクリプション取得

2019/09 ・・・ AZ-900 を取得

2019/10 ・・・ MOTEX DAYS 2019 の事例発表会にて登壇させて頂く

2019/12 ・・・ とある機会をキッカケにまだまだ未熟さを感じる。悲

2019/12 ・・・ ブログ記事が100本を超える(割とアウトプットできた)

2019/12 ・・・ 初 Advent Calendar を経験(Microsoft Learn)

~~~~~

特に顕著だったのは Connpass 経由でのイベント参加だったかなと。数えてみたら 2019/07 からで約15本ほどでした。決して多いわけではないのですが、今まで殆ど活用していなかったことを考えると色々なことを学び吸収できた一年(半年)でした。それ以外の振り返りは下記の通りで。

 

・LinkedIn や Connpass を通じて社外の方と交流する機会が増えた

➡それを踏まえて、自分自身に今足りないものの振り返りもできた。

・MOTEX DAYS の登壇を皮切りに外部コミュニティの形成支援や再登壇に参画

Twitter を再活用して情報を得つつ、一桁だったフォロワーも三桁に増加。

➡非常にありがたく、速報性を重視した情報の入手に役立てております!

etc...

 

こう振り返ると「コミュニティ」というものに触れ、その延長線上でお話する機会を頂いたり普段は出会えないような他企業の(強い)エンジニアさん(他)にも出会えたと思います。

2020年の目標

2019年も本日含めてあと6日、そろそろ来年の目標を立てないといけない感じです。。こちらは妄想も含めて色々と箇条書きで書き出したいと思います。(順不同)

 

・2019年本年で目標に到達できなかった資格のリベンジ

クラウド関連(主にAzure)の技術で特定の分野を極めていく

➡およびブログでのアウトプット/エキスパートとの交流

 ➡来年は記事の偏りが大きくなると思います。。

クラウド関連でまずはLTから1~2本消化してみたい

・自身が関連するコミュニティの活性化支援、登壇活動。

・2019年以上に交流の幅を広げる

➡まだ、お会いできていない Twitter の方にご挨拶をする。

・分厚さに負けて完遂できていない『Windows インサイド 第7版』と『WINDOWS SYSINTERNALS 徹底解説』をゆっくりじっくりと読破する

C# および Uno Platform などの言語理解、クロスプラットフォーム開発の習得。

・(最後の最後に)仕事をそれなりに頑張る

 

先日の Ignite The Tour Tokyo でも拝聴したOKRも活用しながらQ毎に目標を立てて進めていこうと思います!

 

そんなこんなで皆さん、良いお年を☆

PowerApps に触れてみよう その2

ハンズオン(6~) ※つづき

7.アプリを作成するにはⅡ キャンバスアプリ、入力フォーム

少し間が空いてしまいましたが、前回の続きです。今度は画面を構成する要素を配置しつつ作成するアプリで「キャンバスアプリ」と呼ばれるものをハンズオンします。

f:id:btsn:20191222230214p:plain

https://make.powerapps.com/

にアクセスした状態で一番左の「キャンバス アプリを一から作成」を選択します。

f:id:btsn:20191222230346p:plain

必要項目を入力した上で[作成]を押下します。

f:id:btsn:20191222232344p:plain

画面遷移後に[挿入]より[フォーム]を選択し[編集]にてフォームの配置をします。その際に[データソース]は前回に作成した[経費精算]を利用しエンティティに接続することが可能です。

また、例としてフォームの申請者にカーソルを合わせて[詳細設定]からロックを外すことによりプロパティや関数部分が選択できる(赤枠部分)ようになり値がフォームに反映されます。なお、関数のリファレンスは下記のサイトで参照できるようです。

docs.microsoft.com

これだけ豊富だとWebだけで完結してしまいますね。笑

なお、上記はフォームのみの配置ですが、実際にエンティティにデータ登録を行う場合は画面上にボタン配置をし、OnSelect プロパティに「SubmitForm(Form名)」を設定する必要があるようです。また、プロパティは OnSelect(オブジェクトをクリックしたとき) 以外にも OnChange(値が変わったとき) や OnTimerStart(タイマーがスタートしたとき) 等を覚えておきたいところです。

少し触れたのみですが直感的に画面をデザインしやすく簡単な業務アプリであれば1日もあれば(ほぼ)コードなしにアプリを作成できてしまいそうです!

8.アプリを作成するにはⅢ 一覧画面、データの表示

続いては新しい処理を実行するための画面を追加してみます。

f:id:btsn:20191222234028p:plain

上記のような流れで簡単に追加できます。

f:id:btsn:20191222234245p:plain

右クリック or 「・・・」押下にてメニューが表示されるので[名前の変更]で名称変更可能です。

f:id:btsn:20191222235221p:plain

新しく追加した画面にデータを表示したい場合は[挿入]から[ギャラリー]を選択し[縦](例として)を選択します。

f:id:btsn:20191222235320p:plain

その後はデータソースやレイアウトを適宜変更すれば簡単に一覧表示を作成することが可能です。このようにテンプレートのような下地の素材があってサクサクと作成できるのが非常にありがたいところです。(現状はエンティティにデータがないので一覧表示はされません。。)

9.アプリを作成するにはⅣ アプリの保存と共有

項番「8」までに作成したアプリは保存が可能なものの共有に関しては Community Plan ではできないので割愛致します。あくまでも単一ユーザによるビジネス アプリやワークフローの作成技術の向上に限られます。

10.アプリを作成するにはⅤ 承認フローの作成

こちらもハンズオンは割愛致しますが、内容としては Microsoft Power Automate を利用した承認ワークフローの作成となります。Power Automate が何?というのは下記を。

powerapps.microsoft.com

Power Automate を利用することにより PowerApps で作成したアプリをより(良い意味で)複雑な処理にすることが可能です。条件による処理の起動や分岐、繰り返し等が可能なうえ、アクションによって外部アプリ(SharePointOutlook)の連携も可能です。

 

以前の Jazug Night(第22回) でも PowerApps によるアプリ作成の紹介がありましたが、問題をカテゴリ分けし得意分野・苦手分野のグラフ作成、その分野の比率により問題繰り返しの際に苦手分野を多く出題するようにする、などの勉強アプリを作成するなんてこともできそうですね!