(12) Current Branch の更新(クライアント編)
サーバの更新作業でウイザードの中にこんな画面がありました。
細かい機能追加や修正はさておくと、大きな機能として「サーバ自身」「管理コンソール」「エージェント」を更新するとあります。サーバ自身と管理コンソールの更新は先ほどの項で述べました。あとはクライアントの更新です。
当然ながら実サーバ環境では、クライアント数やネットワーク帯域などの問題をよく考えておかないと帯域輻輳でエンドユーザが使いたいトラフィックが流れないトラブルにつながる可能性が高いです。
が、安心してください。何も設定していなければ自動ではクライアントに最新エージェントは配布されません。
これを親切というのかどうかは捉え方次第ですが(笑)
公式ドキュメントを見てみましょう。
Configuration Manager でクライアントを Windows コンピューターに展開する方法
Configuration Manager でクライアントをアップグレードする
SCCM CB 自動クライアント アップグレード手順 (MS forum)
さきほど「何も設定していなければ」と書いたのは、上記内容が先に設定されていればそれに従って自動展開が行われるよ、という意味です。ここでは上記設定はしていない環境でクライアントのアップグレードをどうするか考えてみます。
Forum の記事にあるように、Microsoftの推奨は自動アップグレードのようです。これで帯域面などに支障がないかどうかは実際に管理者が判断をする必要があります。せっかくなので検証サーバでは自動アップグレードを試してみましょうか。
あてずっぽうではたどり着けない自動更新の設定画面がこちら。
「実稼働前」という言葉がピンとこないですが、要は新しいバージョンということですね。気になるのは、実稼働クライアントバージョンが、一番最初のバージョンじゃなく、階段状に更新した1つ手前の段になっていること。自動更新以外にも更新の方法があるから仕方ないんだけど、クライアントの更新に失敗しないかだけは少し気がかり。
で、更新の階段の最後のステップで「実稼働前クライアントを利用した自動更新」を有効にしてみたのが上記の状態です。実稼働前コレクションには管理者自身のPC1台だけを入れています。で、しばらく放置してからバージョンを確認するとちゃんと実稼働前の指定バージョンに上がっていました。実稼働バージョンと表示されたものより古くても自動更新はちゃんと仕事をしてくれるようです。
検証環境でクライアント数も少なくパフォーマンスの心配もないので、「全部勝手にアップグレードしろや」設定を入れてみます。
「実稼働クライアントを使用して階層内の全てのクライアントをアップグレードする」にチェックを入れると一応ちゃんと警告を出してきますね。OKします。
「サーバーをアップグレードしない」という謎のオプションがありますが。公式には「クライアントのアップグレードをサーバーに適用しない場合は、 [サーバーをアップグレードしない] を選択します」という何の役にも立たない説明書きが。ただ、その公式ページでそのパラフラフの直前の記述を見てもらうと。
https://docs.microsoft.com/ja-jp/mem/configmgr/core/clients/manage/upgrade/upgrade-clients-for-windows-computers#about-automatic-client-upgrade
「Configuration Manager サイト システムもクライアントとして管理する場合は、それらを自動アップグレード プロセスの一部として含めるかどうかを決定します。」
とあるので、行間を読めばこのオプションの「サーバー」とは「SCCMサイトサーバー」と解釈するのが正しいように思います。何なんですかね、文学の勉強をしているのではないはずですが(苦笑)。
実際に設定する場合、期限は台数見合いで慎重に決める必要がありますが、検証環境の場合は早く結果が出たほうがありがたいので、1日とか2日でよいかと思います。
個人的な感触としては、クライアント数が100台前後、ロケーションが1から3程度の中規模ユーザであれば、配布計画を細かく練る手間と自動設定のリスクを比べたら手間の方が大きすぎるのでこのおまかせ設定は確かにアリだとは思います。
1000台以上、10以上のロケーションを抱える大規模ユーザだと、試験配布自体もやりにくいのでいろいろ考えるところがありますね。公式に自動アップグレードの短所として「サイトに関連付けられた階層内のすべてのクライアントに対して適用します。 コレクションでスコープを設定することはできません。」という記載がありますが、実稼働「前」クライアントを指定するコレクションの中身を臨機応変に変更することで対応が可能ではないかと思っています。最終的に日常起動してくる大多数のクライアントのアップグレードが終わってからサイト全体のアップグレードを有効にすれば管理者の手間は減りそうです(この手の資産管理ソフトを利用した更新は100%達成ということはまず起きない。クライアント数が多くなればなるほど顕著)。WQLに記述できるプロパティを活用してコレクションを分散しつつうまく割ることができれば、実稼働前クライアントとして登録するコレクションのクエリ条件にうまく組み込むことができるかも知れません。たとえばコンピュータ名の命名規則が、
東京本社:PC0001〜PC0999
大阪支社:PC1001〜PC1999
名古屋支社:PC2001〜PC2999
札幌支社:PC3001〜PC3999
福岡支社:PC4001〜PC4999
みたいなルールであれば、コンピュータ名の末尾1桁とか2桁でコレクションを作れば特定支社に極端に偏らずに分散してくれそうです。このあたりは実際の環境に依存するかと思います。
他の方法は結局どれも ccmsetup.exe を実行する手段が違うだけで本質的には同じです。ところがccmsetup.exeはインストールや再インストールのためのオプションの説明が多数されていますが、更新について考慮された記述が一切ありません。何も考えずに上書きインストールするような展開方法でよきに計らってくれるかどうか公式からのお墨付きがないので、実行するのに及び腰にならざるを得ません。
ちなみに、うちの環境だけかもしれませんが。同じサイト境界を持つ2つのSCCMサイトがある場合、ADに公示された情報で自動設定しようと思ってもうまくいかないことが多いので、ccmsetup.exe には(特別の事情がない限り)必要となるパラメータを明示したほうがよいです。私はサイトコードとMPの場所は必ずオプションで指定しています。環境によってはFSPも指定したほうが望ましいかもしれませんね。
やり方はともかくとして、どのくらいのクライアントがアップグレードされたのかの進捗は管理コンソール上の「クライアントのステータス」で見ることができます。
まず先に、実稼働クライアントのバージョンの足並みをそろえます。
このグラフを見ると、所望のバージョンになっていないのが3台あるということになっていますね。
実稼働クライアントの自動更新にチェックを入れて実行します。
4日くらい放置した結果がこちら。PC再起動しなくても反映されたので、自分でサービスを再起動するようですね。
ただしこれは実稼働クライアントのバージョンに上がったという話で、実稼働前バージョンにはまだ上がっていません。
実稼働前のクライアントの状況です。
1台だけしか指定していないと前に書いたとおりの状況です。
で、一気にクライアントのバージョンを上げれないのであれば実稼働前クライアントのコレクションの中身を少しずつ増やしていき(バージョンが上がったものは引っかからないようにした方が見通しがよい)、うまくいったとして(いまくいかなかったらネタだと思って書き足しますw)、最終的に実稼働クライアントのターゲットバージョンはどうやって上げるの?という問題があります。
新しいクライアントを実稼働環境に昇格させる作業だそうです。
なぜここに実稼働前コレクションを指定する必要があるのでしょうか。
まあとにかくやってみましょう
お。うまくいっているっぽいですね。
おー。期待通り実稼働のバージョンが上がりました。あとは時間が解決してくれるでしょう。
さて、SCCMCB には基準バージョンなるものがあるようです。前掲のバージョン一覧が記載されたサイトにどれが基準バージョンか書かれています。
今回のCBバージョンアップは一切基準バージョンを無視して実施していますが、どうやら注釈をよく読むと、SCCM2012からアップグレードする際には基準バージョンを使え、と書いてあります。つまり、CBの中でバージョンを上げる分には関係なさそうに読めますし、実際今回のテストでは何も問題は起きませんでした。一読して「なるほどわからん」文章なので、実際にシステム管理をされている方はよく確認された方がよいかと思います。バージョンアップの部分の切り戻しは容易ではないと思われますので。。。
← 1つ前へ ** 目次に戻る ** 1つ先へ →