kkamegawa's weblog

Visual Studio,TFS,ALM,VSTS,DevOps関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

Active Directory Domain Servicesのドメイン名を変更するときに起きたトラブル

はじめに

自宅でActive Directory Domain Services(ADDS)を使い始めたとき…Windows Server 2003の頃でした。Windows 2000ではじめてActive Directoryが登場した時のドキュメントでは確か .local をsuffixとするドメイン名が例示されていた記憶があります。Windows Server 2003の頃には「トップレベルドメインもちゃんとした、実在のドメイン使いましょう」に代わっていたはずですが。

「どうせ自宅/実験用だしいいかー」と思っていたのですが、Microsoft 365が出てきて状況が変わってきます。もうこのまま進化しないと思われていたADDSはクラウドとの同期が前提になり、いろいろ不都合が起きてきました。Windowsクライアントはリプレースのタイミングでオンプレミス使わないAzure AD Joinに移行したのですが、サーバーはそのまま。別IDでもいいかと思っていたのですが、人に「Azure AD Joinいいですよ」とかすすめる手前、やっぱ自分でもやってみようかということで重い腰を上げてAAD Connect使うことにしました。

UPN書き換えでもいいのでしょうが、やはりドメインシンプルにするに限りますということで、M365で使っているドメインをオンプレミスでも使うことにして、リネーム開始です。いろいろドキュメントや先人の資料は見ていたのですが、いろいろはまりました。

参考資料

手順は探せばたくさん出てきますので、ここでは書かないでおきます。

Active Directoryのドメイン名を変更してみる(注:とってもやりたくない)。 – ひねもす庵

AD のドメイン名を変更する( rendom コマンド) - bnote

How to Rename Active Directory Domain? – TheITBros

Step-by-Step guide to rename Active Directory Domain Name - Technical Blog | REBELADMIN

learn.microsoft.com

手順としてはこのあたりの記事を参考にさせていただきました。ありがとうございます。

はまったところ

XMLファイルの編集をミスった

rendom /listコマンドでDomainlist.xmlというファイルが生成されて、そのファイルにある3カ所をエディタで新ドメイン名に編集して使用するのですが、一カ所忘れていて、gpfixupコマンドが失敗していました。これに気づくまで1時間くらい。3カ所あるので、忘れないようにしましょう。

ちなみにこうなると一度rendom /endで変更モードを終了させなくてはなりません。間違ったままでも再度やり直せば自分の場合は大丈夫でした。

グループポリシーオブジェクトが更新できる状態ではなかった

gpfixupコマンドが失敗する理由に悩んだのですが、グループポリシーオブジェクトを見てみたら既定のDefault Domain Policyの読み書きができなくなっていました。これは以前ディスクが壊れたときについでに吹っ飛んだので、デフォルトポリシーを新しく作ってそちらにリンクさせていたので実運用は問題ない…のですが書き込みできないとgpfixupコマンドは失敗するようです。

消そうにも組み込みポリシーは消せないので(いじればいいですが)、dcgpofixコマンドを使ってデフォルトを読み込みました。デフォルトポリシーはほかのものに変えているので、ロードしても問題ないかなということで。

これでgpfixupコマンドが正常に終わりました。エラーも出てこないのでかなりつらかった。

コンピューター名の変更などにかなり困った

やらないといけない、と書いているところは見つけられなかったのですが、うまくいかなかったのでコントロールパネルからドメインコントローラーのコンピュータ名のFQDNを直したり、ethernetの接続のdns suffixを直したりするとDNSがちゃんと反映されて正常に新ドメインのDNSレコードが正常にできました。

メンバサーバーも明示的にADに接続しなおしたけど、やらなくてよかったのかなぁ…やったらうまくいったのでトラブルシューティング時にはやってもいいかもしれません。

QNAPのActive Directory統合

これもQNAP側でActive Directoryの新ドメインに参加しなおしました。あと、DNSにQNAPの管理者アカウントのレコードがあって、「いらんだろ」と思って消したらADDSではないQNAPアカウントなのにログインできなくて焦りました😅。慌てて追加しなおしたら無事OK。

Azure Backupコンソールが使えなくなった(継続中)

これは継続中です。SQL Serverですらちゃんとつかえているのに、Azure Backupコンソールが使えなくなるとはどういう…。エラーとしては`The current operation failed due to an internal service error "Resource not provisioned in service stamp". Please retry the operation after some time. If the issue persists, please contact Microsoft supportとなっていて、かれこれ数時間このままなので、サポートに聞いてみようと思います。

なお、MMC.exeからAzure Backupスナップインを明示的に追加してもだめでした。

残作業

あと今日使っていないメンバーサーバーをゆっくりログインしてみます。DNS suffixが書き換わらなくなったときは「もう実験サーバーばかりだからADDS消してやり直すかなークライアントにも影響ないし」と思っていたのですが😅、何とかリカバリーできてよかったです。さて、AAD Connect使ってディレクトリ同期だ。

Azure DevOps 2023/2/17の更新

前回、「次回は三週間後でしょうか」とか書いたからか、また二週間で公開されました…スプリントが短くなったんでしょうか?嬉しいですが、翻訳が😂。オリジナルはこちらからご覧ください。他の内容をブログで書こうと用意していたのですが、急遽変更です。

learn.microsoft.com

ちょっとリリースノートの形式が変わりましたね。以前からあるCumulative Flow Diagram、Velocity、およびSprint Burndownチャートを置き換えるInteractiveレポートとやらができるそうです。あれ…以前強い反対があったのは…ウィジェットか。

ステージを状態によって検索できるようになったのはいいですが、こんな長いステージ作るのはMicrosoftさんだけではなかろうか😉(定例)。

v3エージェントへの移行がいよいよ開始されます。多分使うだけなら問題ないはず。ローカルで管理しているエージェントも置き換えできないような環境では自力で頑張れ。

10までのレポジトリを一つのウィジェットで見えるようにする新ウィジェットがプライベートプレビューで始まりました。これはいいものですね。大きな規模では本当に助かります。いつものようにorganization名を添えて、「よろしくお願いします」と英語で送ればいいようです。

ではまた二週間(?)後。

translate to Japanese to Azure DevOps release not…

Azure DevOps 2023/2/7の更新

Azure DevOps Sprint 216リリースノートの翻訳を行いました。オリジナルはこちらからご覧ください。

learn.microsoft.com

さすがにもういないような気がしますが、Red Hat Enterprise Linux 6を使っている場合、エージェントの更新が行われなくなります。エージェント2.xで使っている.NET Core 3.1がEOLになったためですね。明示的に使っていることを警告するための設定が必要になるので、注意してください。

作業項目の項目そのものは編集できないけど、discussionに追記だけできる権限というのはいいですね。例えばstakeholderライセンスの人は自動的にEdit work item comments in this node権限を割り当てるとかレポジトリのコミット権限がない人に自動的に割り当てるとか良さそうですね。

記事中では数十のステージ使っている場合見づらいからサイドパネル追加したとかありますが、そんなたくさんのステージあるのはMicrosoftの中だけなのでは😅と思ってしまいますが、まぁ便利…かな?

Grant access permission to all pipelinesが無効になっている場合、この権限を確認してください。個人レベルで使っている場合多分organization administratorを持っているので問題にならないと思いますが、組織で使う場合事故が起きにくくなりそうでいいですね。

ダッシュボードのコピー機能がデフォルト有効になるそうです。今まではfeature flagで明示的に有効にしないといけませんでしたが、これが消えるそうですね。feature flagはうまく使っていたら便利なものの、「いつ消す」という問題は常にあるので、リファクタリング同様定期的にやるのは大変です。

今回小規模だったからか、二週間でリリースされましたが、次は三週間後でしょうか?

translate to Japanese to Azure DevOps release not…

Azure DevOps 2023/1/25の更新

Azure DevOps Sprint 215リリースノートの翻訳を行いました。オリジナルはこちらからご覧ください。

learn.microsoft.com

本文はDeepLで下翻訳して、微調整しているのですが、各パラグラフのタイトルはDeepLではなく、自分で考えています。GitHub Copilot有効なVS Codeで日本語考えて少しずつ入れていると、上の英文見てそこそこの翻訳をサジェストしてくれるんですよ。技術翻訳とかではかなり助かるというか、焦ります😅。

今回はBoardsでプロセスをカスタムした場合、オーナーがpicklistをロックできるようになりました。これで他人による意図しないカスタムを防ぐことができるようになります。Swimlaneの色分けもいいですね。例えば重大問題であればちょっと薄い赤色とか設定して、一番上にもっていくとか便利です。

PATの権限管理をさらに細かくし始めています。次のスプリントでも変更があるので、現行のざっくりPATでやっている場合、意図せず動かなくなることがありますので、要注意。たぶん大体は大丈夫だと思いますけど。

承認プロセスは企業ではよくつかわれるシナリオです。大体時間、人による承認が多いと思いますが、REST APIでデプロイ先の状態がどうか確認してOKならリリースするというケースもあります。そんな時、今までは定義済みの変数か、変数グループのみ使用可能でしたが、YAMLテンプレートでの実行時に設定した値を渡すことができるようになりました。

リリースノートではリトライ数を変数に保存して渡しています。ほかにも例えばDurable Functionのモニタリングでデプロイ後の状態を一定期間繰り返しチェックする、といったケースで有用かなと思います。

推測可能な短い値はそもそもシークレットマスクしない、というのも地味だけど便利ですね。

パイプラインエージェントが.NET 6ベースのv3に移行します。それに伴い動かなくなるOSがちらほら出てきます(CentOS/RHEL 6やmacOS 10.14など)。大規模な環境では気づかないエージェントもあるかもしれないので、添付スクリプトを実行して確認しましょう。

Wikiのサブページをテーブルにしてくれる[[_TOSP_]]がサポートされたのはうれしいです。使ってみてください。

ではまた三週間後。

translate to Japanese to Azure DevOps release not…