team-blog-hub を使って個人のアウトプットをキュレーションしてみた

最近は note や Zenn にアウトプットしてることが多く、久々にはてなブログに投稿。

流行ってそうなものを見るとそれが何故流行っているのか実際に体験したいというノリで生きているので、アウトプットする先の媒体もQiita、はてなブログ、note、Zennと散らばりがち。

そんなある日たまたま見かけたのが、Zennの開発者である @catnose99さんが作成した team-blog-hub というサイトだった。

zenn.dev

そもそもは企業のテックブログ等で個々人の投稿を集約することを想定して作られたサイトだけど、catnoseさん自身も

チームでなくとも個人で使っていただくのも良いかもしれません。たとえば、noteとMediumとZennに投稿している方は、同じ仕組みを使って一箇所に投稿一覧をまとめることができます。

ということを書かれていて、自分にとってはうってつけだなーと思ってやってみた。

できあがったもの

こちら。

thdy.jp

やったこととしては、

  • catnoseさんのリポジトリをfork
  • 自分用にブランチを切る
  • デザインを自分用に変更してプッシュ
  • Vercelにリポジトリを連携してデプロイ
  • Vercel上でドメイン(thdy.jp)を設定
  • DNSサーバーにAレコード追加

という感じで、2時間くらいで完成。

Vercel初めて触ったんだけど、最初GitHubにアプリを追加する順番を間違ったみたいでなかなか連携できなかった(きっと普通はハマるところじゃない)

単純にGitHubから一度Vercelアプリを削除して再度Vercel側から連携設定しにいってアプリ追加したらいけた。

そこからはドメイン設定しただけ。SSLとかも自動で設定してくれるしデプロイと言ってもリポジトリ連携してるだけで何もしてない。 Hobbyプランなので無料。Vercel最高。

デザイン変更してるって書いてるけど、メンバー紹介セクションを削除したりAboutページを自分のプロフィールに変えたぐらいでほぼそのまま。

そのうち配色を変えてみたりもうちょっといじってみたいなーと思ってるけど一旦公開した。

今後どこにアウトプットするか

個人的にZennめっちゃいいなって最近思ってる。リリースして3ヶ月とは思えない完成度だしデザインも使い勝手も良くて今後に超期待。

noteも好きなんだけど、前回アドカレ書こうとした時にnoteはテーブルが書けないと知って絶望してZennに書いた

技術的じゃない話を書く時はnoteかなーと思うんだけど、noteってなんかエモいことじゃないと書いちゃいけないような気がして(実際はそんなことはない)、 雑記的なのははてなブログで書こうかと思ってる。やっぱブログは自分の庭って感じでいいね。何書いても自由だもん。

今年はコロナがあったり個人的にも転職したりと色々と激動の年だったんだけど、振り返りは書こうかどうしようか迷ってる。気が向いたら書こうかな。

それでは🖐

Azure AD Free での SSO が無制限になったようです

f:id:thdy:20200501225036p:plain

公式アナウンスはこちら。

techcommunity.microsoft.com

As Brad Anderson also shared in his Microsoft 365 news blog this morning, we're extending the ability to use Azure AD single sign-on (SSO) for an unlimited number of cloud apps at no extra cost. Whether you need gallery apps or non-gallery apps, using OIDC, SAML or password SSO, we have removed the limit on the number of apps each user can be assigned for SSO access in Azure AD. This means any Microsoft customer using a subscription of a commercial online service such as Azure, Office 365, Dynamics and Power Platform can enable SSO for all their cloud apps, even with Azure AD Free. This complements our earlier announcement that multi-factor authentication (MFA) along with security defaults is free across all Azure AD pricing tiers, so every one of your apps can also be protected.
引用元:Unlimited SSO and new Azure AD features to simplify secure access management - Microsoft Tech Community - 1257358

これは何が嬉しいかと言うと、Azure AD を使って外部サービスとのシングルサインオンを実装しようと思うと、これまで無償版や Office 365 に付属してくる Azure AD では「SSOできるアプリは10まで」という制限があったんですね。

f:id:thdy:20200501221022p:plain
引用元:料金 - Active Directory | Microsoft Azure

(ちなみにこのスクショを撮りにいった時は料金プランのページはまだ「最大10アプリ」のままだった)

また、SSO するためのコネクタが Azure AD にて標準提供されているのですが、このギャラリーに無い独自アプリを追加するのも従来は Azure AD Premium P1 か P2 という有償ライセンスが必要でした。
これについても制限が解除され Free 版や Office 365 付属版 Azure AD で追加できるようになっている事を私の手元のテナントでも確認しました。
f:id:thdy:20200501223512p:plain

このギャラリー、現時点で3418種類ものアプリが選択できるものの、あくまでそのほとんどはグローバルに展開されているサービスであり、日本国内でのみ展開しているようなサービスは有名どころであってもこのギャラリーには無いことが多く、その場合は独自アプリの追加機能に頼らざるを得ないのですが、これをしようとすると有償ライセンスが必要という事で諦めてきたシステム管理者の方もそれなりにいらっしゃるのではと思います。(私もその一人です)
f:id:thdy:20200501221513p:plain

今回これらの制限が解除されたことで、無償の範囲内でも組織内の IdP として十分使えるようになったのではないでしょうか。

「現状 IdP を何も入れていない」「ID 管理にそこまで予算はかけられない」「社内にWindows 端末がある」などの条件に当てはまるのであれば迷わず入れて良いレベルだと思います。
他の IdP をあまり調べてないから知らんけど。

Azure AD Connect からの Azure AD 接続時に「予期しないエラーのために資格情報を検証できません」のエラーが発生する

いきなりオチを書くと、Azure AD のグローバル管理者のパスワード有効期限が切れてたのが原因でした。。。
エラー内容 (日本語) でググってもすぐに出てこなかったのと、こんな理由で1時間もハマった事への懺悔も含めブログに残そうと思います。

エラー発生から解消まで

同期設定を変更しようと思って、Azure AD Connect の設定ウィザードで Azure AD に接続しようとした時のことです。




予期しないエラーのために資格情報を検証できません。このイシューを詳しく診断するには、/InteractiveAuth オプションを使用して Azure AD Connect を再起動します。()




なんじゃこれ。と思ってサーバ再起動したり、エラー分末尾のリンク先を読み込んでみたり、エラー内容でググったりしたけどよく分からない。
なんか認証の問題っぽいので、「とりあえず切り分けの為にグローバル管理者のパスワード変更してみるかな~」と思って Azure の管理コンソールにサインインしようとしたら

f:id:thdy:20200427215912p:plain

なるほど・・・

ということで、パスワードを更新したら Azure AD Connect のウィザードのほうも正常に認証することができるようになりました。

おしまい😭

Microsoft Teams の投稿を管理者 (チームの所有者) が削除できるようにする方法

を知りたくてググったら日本語記事がすぐに見つからなかったので、書き残しておく。
※2020年4月21日時点の内容です

デフォルトでは Teams で投稿した内容は投稿した本人しか削除できるようになっておらず、これを削除できるようにするには Teams のポリシーを変更する必要があります。

Teams のポリシーを変更する

  1. Microsoft 365 管理センター にアクセスし、[管理センター] セクションの [Teams] を選択します。
    f:id:thdy:20200420225530p:plain

  2. [メッセージングポリシー] を選択し、新規にポリシーを追加するか、グローバルポリシーを変更します。
    f:id:thdy:20200420225912p:plain

  3. [所有者が送信したメッセージを削除できます] の設定がオフになっていると思うので、これを [オン] に変更します。
    f:id:thdy:20200420230442p:plain

Teams 側で確認する

  1. Teams を開いて、設定を変更したいチーム名の右の [・・・] → [チームを管理] を選択します。
    f:id:thdy:20200420230921p:plain

  2. [設定] タブから [メンバー アクセス許可] を展開すると、[所有者はすべてのメッセージを削除できます] という項目が増えている事が確認できます。
    f:id:thdy:20200420231217p:plain

  3. 実際に誰かの投稿の [・・・] を選択してみると、[削除] がメニューに表示されるようになりました。
    f:id:thdy:20200420231451p:plain

以上。

Office 365 グループのメールアドレスを Powershell で変更する

今年はせめて月イチでブログを書くぞと決意して早3カ月。。。
最近 Office 365 を触り始めているのですが、ふと備忘録的に書き残しておきたい事が出て来たので久々に書いてみます。

Office 365 グループのメールアドレスは GUI から編集できない?

必要があって、ある Office 365 グループのメールアドレスを変更しようとしたのですが、Azure Active Directory の画面でも Microsoft 365 管理センターの画面でもメールアドレス部分がグレーアウトしていて直接編集できませんでした。
f:id:thdy:20200329234457p:plain

どこかのメニューから編集できないか探してみたのですが無さそう。
ということでググってみたら以下の Docs がヒットしました。

docs.microsoft.com

なるほど、コマンドでやれってことですね。

Powershell で Office 365 グループのメールアドレスを変更する

以下の内容は「ほげほげチーム」という Office 365 グループのメールアドレスを「hogehoge@example.com」に変更するスクリプトです。

# 認証
$UserCredential = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
Import-PSSession $Session

# 書き換え前に現在の情報を確認
Get-UnifiedGroup -Identity "ほげほげチーム"

# メールアドレスの書き換え
Set-UnifiedGroup -Identity "ほげほげチーム" -PrimarySmtpAddress hogehoge@example.com -RequireSenderAuthenticationEnabled $false

# メールアドレスが正しく書き換わっているか確認
Get-UnifiedGroup -Identity "ほげほげチーム"

私の環境では上記内容でうまくいきました。
ちなみに多要素認証を設定している環境では、認証部分の書き方が上記とちょっと変わるようです。

docs.microsoft.com

ということで今日はここまで。

Microsoft Wireless Display Adapter を1年半使ってみた感想

この記事は、corp-engr 情シスSlack(コーポレートエンジニア x 情シス)#2 Advent Calendar 2019 の22日目の記事です。

はじめに

社内の会議室用にMicrosoftのワイヤレスディスプレイアダプター (P3Q-00009) を導入してから1年半が経ったのですが、なかなか良かったのでここで一度振り返ってみます。

きっかけはあるベンダーの担当者が商談の際に「最近これ便利なんすよ~」と言って持ち出したMiracast用アダプタ (恐らくELECOMとかIO-DATA辺りのメーカー品) でした。
そこで実際に使っているのを見て、遅延も気にならないし何よりワイヤレスっていいな~と思い、なんとなく検証用に買ってみたのがみたのが、Microsoft のワイヤレスディスプレイアダプターでした。

使ってみる

片側が映像出力用のHDMI、反対側が給電用のUSB-Aになっています。
f:id:thdy:20191201001209p:plain

差すだけ。
うちの会社の会議室は液晶モニタではなくすべてテレビを置くようにしてるのですが、テレビは大抵HDMIの近くにUSBポートがあるので接続がラク。プロジェクターにもだいたいUSBポートありますしね。
f:id:thdy:20191201001137p:plain

給電するとすぐに接続待ち状態になる。待ち受け画面にはWindowsバイスでの接続手順が表示されています。Windows Phoneの使い方なんて書いて誰の為になるんや?
f:id:thdy:20191130234504p:plain

準備は以上。あとは各種デバイスからMiracastで接続するだけ。

ちなみに動作環境ですが、残念ながらMaciOSでは動作しません。MiracastのみでAirplayは未対応です。全OSカバーされたい場合はコストアップになりますがEZCast Proとかその辺りが良いのではと思います。 f:id:thdy:20191201002057p:plain あ、あとこの表では表現されてないですが、最近のAndroidは接続できました。Android 9.0とかその辺りです。

使用感

少し試してみて、これは良いぞと。すぐに全拠点の会議室分買って配りました。
以下にポイントを列挙します。

なんかかっこいい

モダンで良くないですか。
「あ、うちワイヤレスなんすよ」って言いたいじゃないですか。

インターフェースを選ばない

VGAHDMIとType-CとDisplayportとLightningと...って変換アダプタとケーブル用意してくと、なんだかんだこっち買った方が安いしラクじゃない?と思います。(こいつはだいたい4000~5000円くらいで売ってる)

取り回しがラク

もはやプロジェクターの近くに座る必要は無いのです。向こうの席の人にケーブルを渡そうとしてコーヒーをこぼすことも無いのです。
「次私が映したいんで、○○さん解除してもらって良いですか~」こんな会話が社内では行われています。席を立つことはありません。
まだグチャグチャのケーブル、変換アダプタの断線で消耗してるの?(煽り)

Wi-Fi環境が無くても使える

ChromeCastとかだとアダプターと接続元デバイスが同じWi-Fiに接続してること前提なのですが、これはMiracastなので手元のデバイスから直接接続できるんですよね。ゲスト用Wi-Fi用意してなくても、社外の方にパッと使ってもらえるのは良い。

Windows 10のPCなら基本動く

動作条件がMiracastに対応してることなんですが、WindowsはOSレベルでは8.1からサポートしてるし、最近のPCに載ってる無線NICならまず対応してます。

今あるPCで使えるかどうか心配な場合は以下の2点を確認しましょう。
① dxdiagのディスプレイタブでドライバーモデルがWDDM 1.3以上になっているかどうか f:id:thdy:20191201003516p:plain

PowerShellget-netadapter | select name, ndisversionWi-FiのNdisVersionが6.3以上になってるかどうか

PS C:\WINDOWS\system32> get-netadapter | select name, ndisversion

name                       NdisVersion
----                       -----------
Wi-Fi                      6.50
Bluetooth ネットワーク接続 6.30
イーサネット 3             5.0

注意点

  • テレビ会議システム(Polycom, Sony)では動作しなかった
  • 製品自体は 2.4 GHz帯と 5 GHz帯の両方に対応しているが初回ペアリング時には2.4 GHz帯 が有効になっている必要がある
  • モニタへ伝送されるフレームレートは30FPSなので動画やゲームをヌルヌル動かしたい人は諦めて有線にしましょう

まとめ

「社内デバイスWindowsAndroid」の現場では、安価にサクッとMiracastを導入する手段としてなかなか良いのではないかと思います。

実は個人用にも1台持ってるのですが、出張先のホテルで仕事する時とかに部屋のテレビにこいつを挿すとデカいサブディスプレイと化すのでそちらの用途でも活躍しています。軽い・小さいのでバッグに常備。

それでは今日はこのへんで。

Windows 10 Home で BitLockerを操作する

妻のお母さんがPCがおかしいというので見てみたところ、起動時にBitLockerが回復キーを求めてくるようになっていました。

それ自体はさほど驚かなかったのですが、よく考えるとこのPCたしかWindows 10 Homeだったはず。

あれ?BitLockerってWin10 Proからの機能じゃなかったっけ? というかそもそもリテラシー的にも自分でBitLockerなんて設定しないだろうから最初から有効になってる?じゃあ回復キーは?? というところから始まり、いろいろ調べてみました。

結論

HomeエディションでもコマンドならBitLockerを操作できる(GUIは利用できない)

初期出荷イメージの時点でBitLockerが有効になっていた

前段のBitLockerが回復キーを求めているという状況に対し、回復キーが分からないとのことだったのでリカバリをかけました。

今回対象のPCはDELLのVostro 15-3568という機種なのですが、リカバリ直後のCドライブを見てみると… f:id:thdy:20181027010959p:plain

BitLockerが有効である証拠として南京錠のアイコンがCドライブ上に表示されていますね。初期出荷状態で既に有効になっているようです。

しかしCドライブを右クリックしてもBitLockerの管理メニューは出ていません。これはHomeエディションなので当然といったところでしょうか。

それにしても最初からBitLockerが有効というのはメーカーによるのでしょうか。この辺りはよく分かりません。

とりあえずGUIの設定メニューが利用できないので、コマンドでの設定を試してみます。

BitLockerをコマンドで操作する

まずは「manage-bde -status」コマンドでBitLockerの状態を見てみます。

C:\WINDOWS\system32>manage-bde -status
BitLocker ドライブ暗号化: 構成ツール Version 10.0.15063
Copyright (C) 2013 Microsoft Corporation. All rights reserved.

BitLocker ドライブ暗号化で保護可能な
ディスク ボリューム:
ボリューム C: [OS]
[OS ボリューム]

    サイズ:                 107.46 GB
    BitLocker のバージョン: 2.0
    変換状態:               使用領域のみ暗号化
    暗号化された割合:       100.0%
    暗号化の方法:           XTS-AES 128
    保護状態:               保護はオンです
    ロック状態:             ロック解除
    識別子フィールド:       不明
    キーの保護機能:
        数字パスワード
        TPM

アイコンの表示通りBitLockerによる保護がオンになっていますね。

続いて、「manage-bde -protectors -get」コマンドでパスワード(回復キー)を確認します。

C:\WINDOWS\system32>manage-bde -protectors -get c:
BitLocker ドライブ暗号化: 構成ツール Version 10.0.15063
Copyright (C) 2013 Microsoft Corporation. All rights reserved.

ボリューム C: [OS]
すべてのキーの保護機能

    数字パスワード:
      ID: {BC8C1846-C6DE-45EF-A10D-xxxxxxxxxxxx}
      パスワード:
        xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx

    TPM:
      ID: {0D357736-51C5-4BED-B593-7C7DC4A66B5D}
      PCR 検証プロファイル:
        7, 11
        (整合性の検証のためにセキュア ブートを使用)

回復キーも無事に確認することができました。

ちなみにMicrosoftアカウントでPCにログオンしている場合は回復キーが自動でアップロードされるので、事前に回復キーを控えていなくても、有事の際はこちらのサイトから確認可能です。

MSアカウントをPCに紐づけない場合は、今回のようにディスクやブート領域に何か問題が発生してBitLockerのロックがかかると詰んでしまうため、上述のコマンドで予め回復キーを控えておく必要がありそうです。

他にも試してみたコマンドとして「manage-bde -protectors -delete」でパスワード削除とともに保護の無効化、「manage-bde -protectors -add」からパスワードの追加等の操作もできました。

どうやらGUIは無いものの、コマンドからはPro同様に操作が可能なようです。

しかしながらHomeエディションを利用するユーザーのリテラシーを考えると、こういった操作はもちろん、BitLockerとは回復キーとはなんぞやというのをマニュアルも無しに押し付けるのはさすがに厳しいのではと思うのですが、どうなんでしょう。また他のメーカーがどうなのかも気になるところです。

BitLocker自体は良いソリューションなのですが、その効果が知られないままこういったトラブル時に悪いイメージだけついてゆくのはなんとも残念なところです。せめて回復キーの確認の仕方ぐらいはマニュアルをそっと同梱される事を切に期待します。

ちなみにBitLockerのコマンド操作についてはこちらのページを参考にしました。

第4回 BitLockerをコマンドラインで管理する (1/2):超入門BitLocker - @IT

おわり