2023年1月17日火曜日

Microsoft Defender v1.381.2140.0 によるショートカット破壊について

先日、更新プログラムをインストールし、再起動後、ショートカットが消えてなくなる事象が発生しました。

発生後、よくよく見ると、Microsoft Defender v1.381.2140.0 が原因で事象が発生するみたいですね。

イメージとしては、以下の画面キャプチャの赤線が引いてある「新規」と記載があるものが消えておりました。



上記のものは自分の中で必須ではないので、復旧しなくてもよかったのですが、下記の通り、Microsoft から復旧スクリプトがリリースされていたので試してみました。

Recovering from Attack Surface Reduction rule shortcut deletions - Microsoft Community Hub

スクリプトは以下にあります。

MDE-PowerBI-Templates/AddShortcuts.ps1 at master · microsoft/MDE-PowerBI-Templates · GitHub


AddShortcuts.ps1 というファイルですね。

こちらをコピペでも何でもよいので、ps1 ファイルとして保存し、実行しました。




とりあえずこちらのエラーは以下のコマンドで回避しましょう。

Set-ExecutionPolicy bypass -Scope Process -Force


再度実行してみたところ、下記の出力がされました。


見た感じ、私の端末は該当しないバージョンです、という感じの出力がされています。

これは、事象発生後に2日程度経っていたため、すでに事象解消バージョンのDefender がインストールされているので、このような表示になっていると思われます。

ただ、強制実行できるみたいで、「-ForceRepair」パラメーターを追加してね、ということのようなので、再度追加して実行してみました。

すると、以下のような出力でした。


これが完了すると、この記事の1つ目の画面キャプチャにあるように、「新規」という表示と共にショートカットが復活しましたので、困っている方はお試しいただければと。

2023年1月14日土曜日

[ 2023年版 ] 某外資系IT企業サラリーマンがお薦めするキーボードの選び方

みなさま、こんにちは。

高級キーボードについては、色々なところで打鍵感の話とか手首の疲れ方とかが批評されていると思いますが、私が考えるキーボードの選び方、というものを書いていきたいと思います。


まず、私自身、タイピングするときに矢印キーを多様することが多いため、新卒時代から東プレのテンキーレスタイプのキーボードを使っています。


矢印キー多様するのは、Ctrl キーと一緒に利用することが多いです。

コード書くときは emacs ですが、書かないときでコードリーディングするときや、Excel で行列を一気に移動するときによく使います。

また、メール書くときも同じように利用するので、矢印キーは欲しいですね。


ちなみに、私が所属しているチーム(10数名)のキーボード事情ですが東プレ2名、HHKB 1名、FILCO1名、他といった感じです。

他のチームを見ると、これらの他にエルゴノミクスデザインを利用している人も多かったです。


私が利用しているのは少し古いモデルの以下ですが、一番リーズナブルで初めて高級キーボードを利用する人にもお薦めです。(失敗してもHHKB ほどダメージは無いですねw)

東プレ REALFORCE R2 テンキーレス 日本語配列 静電容量無接点方式 USB 変荷重 昇華印刷 かな表記あり アイボリー R2TL-JPV-IV


現時点での最新モデルはこちらになりますかね。

ちなみに、私の高級キーボードデビューは以下です。

ただ、いつも気になるHHKB ですが、以下の日本語配列のものは矢印キーがあるので、次はこれを買おうかなと考えています。
ただ、価格帯だけ見ると、やはり東プレの方がリーズナブル。
HHKB の利点はコンパクトであることだと考えています。
どちらも静電容量無接点方式です。簡単に言うと、特定の箇所までキーが押し込まれると電極軸が近づいて入力を認識する方式になります。

フルリモートでの仕事なのですが、ノートPC と共に持ち運びたい人はHHKB 一択でよいと思います。

余裕があれば2台持ちがよいですね。

2023年1月12日木曜日

KB5015684 について

有効化パッケージ、もしくはイネーブルメントパッケージと呼ばれるWindowsOS のバージョンをアップグレードさせる更新プログラムがあります。


今回は、22H2 にアップグレードさせるための更新プログラムでKB5015684 についての記事になります。


公開情報はこちら。

KB5015684: 有効化パッケージを使用したWindows 10バージョン 22H2 の注目の更新プログラム


こちらですが、動的更新(Dynamic Update)という機能(アップグレード後、自動で必要な更新プログラムを適用してインストールする機能)が動作するのか調べたところ、動的更新はFU(機能更新プログラム)に適用されるものであるため、イネーブルメントパッケージは関係がないようでした。


KB5015684 のイネーブルメントパッケージを適用した場合のOS Version について、公開情報に記載がありませんでしたので、検証してみました。

結果は「19044.2130」から「19045.2130」となります。

つまり、メジャーバージョンが1あがったことになります。

適用前


適用後



また、この有効化パッケージについては、Microsoft カタログには公開がされていないため、このカタログサイトからはダウンロードできず、単体でインストールすることもできませんので、ご注意ください。


有効化パッケージを利用する場合は、WindowUpdate/MicrosoftUpdate やWSUS、ConfigMgr といった製品を利用しての配信が必要になります。

2022年11月23日水曜日

差分ダウンロードのログ解析調査

下記の公開情報にある通り、ダウンロード時にはWindowsUpdateAgent を利用してダウンロードを行う。
また、配信の最適化も有効にしておく必要がある。今回はダウンロードモードを「LAN」で検証している。


**************************
以下、検証環境の設定一覧
**************************
・利用バージョン
CB 2207

・クライアント設定

・WSUS の設定(代替ダウンロードサーバー)

・配信の最適化

**************************
以下はインストール開始時のログ(DeltaDownload.log は流れて採取できなかった)
**************************
ContentTransferManager.log
---------------------------------------------
11-22-2022 20:58:25.281    ContentTransferManager    5672 (0x1628)    CTMJob({0CFC7586-6924-4427-A61F-D80B65F7AE68}): CCTMJob::ProcessDownloadSuccess - successfully processed download completion.
11-22-2022 21:04:50.162    ContentTransferManager    4852 (0x12f4)    This client will report download history every 1440 min.
11-22-2022 21:05:06.115    ContentTransferManager    4320 (0x10e0)    CTM_StartJob - Starting CTM job {139F183F-7F56-4F21-ACD3-184A1C486746}
11-22-2022 21:05:06.147    ContentTransferManager    4320 (0x10e0)    Created CTM job {139F183F-7F56-4F21-ACD3-184A1C486746} for user S-1-5-18
CMBITSManager.log
---------------------------------------------
11-22-2022 20:58:25.289    CMBITSManager    5808 (0x16b0)    For CMBITS job {D18A6008-66DB-442C-8F92-A04CFA1DA15A}, CTM job {0CFC7586-6924-4427-A61F-D80B65F7AE68} entered phase CCM_DOWNLOADSTATUS_DOWNLOAD_SUCCESSFUL
11-22-2022 21:04:50.162    CMBITSManager    3452 (0xd7c)    Loaded persisted job with ID {D18A6008-66DB-442C-8F92-A04CFA1DA15A}, DisplayName Express Job  for content 7ca4f9b0-d72c-4974-9f24-183150df320f.1, on startup
11-22-2022 21:04:50.162    CMBITSManager    3452 (0xd7c)    CCMBITSManagerStartup::FinalRelease()
11-22-2022 21:05:05.959    CMBITSManager    4320 (0x10e0)    Added CMBITS job with ID:{4485462C-66C3-429B-A5C1-5BB976DAC373}, DisplayName:Express Job
11-22-2022 21:05:05.959    CMBITSManager    4320 (0x10e0)    Download manifest for the job 


**************************
ダウンロード中のログ
**************************
ContentTransferManager.log(配信の最適化(DO)を利用して、配布ポイントからコンテンツをダウンロードしている)
---------------------------------------------
11-22-2022 21:17:28.741    ContentTransferManager    4320 (0x10e0)    Created CTM job {792F9C7D-BDF4-4780-86FE-A052CD3AA690} for user S-1-5-18
11-22-2022 21:17:28.944    ContentTransferManager    3372 (0xd2c)    CTMJob({792F9C7D-BDF4-4780-86FE-A052CD3AA690}): CCTMJob::_PersistLocations - Persisted locations 
	(SUBNET) http://mpdp.gibson.com/SMS_DP_SMSPKG$/7ca4f9b0-d72c-4974-9f24-183150df320f
	(SUBNET) https://mpdp.gibson.com/CCMTOKENAUTH_SMS_DP_SMSPKG$/7ca4f9b0-d72c-4974-9f24-183150df320f
11-22-2022 21:17:28.959    ContentTransferManager    3372 (0xd2c)    CTMJob({792F9C7D-BDF4-4780-86FE-A052CD3AA690}): CCTMJob::_DownloadContent - Created corresponding DTSJob({624860B5-17D8-45D3-A644-EDC5B6718521})
11-22-2022 21:17:28.959    ContentTransferManager    3372 (0xd2c)    CTMJob({792F9C7D-BDF4-4780-86FE-A052CD3AA690}): CCTMJob::_DownloadContent - DTSJob({624860B5-17D8-45D3-A644-EDC5B6718521}) started to download from 'http://mpdp.gibson.com/SMS_DP_SMSPKG$/7ca4f9b0-d72c-4974-9f24-183150df320f' for full content download.
11-22-2022 21:17:28.959    ContentTransferManager    4788 (0x12b4)    CTMJob({792F9C7D-BDF4-4780-86FE-A052CD3AA690}): CCTMJob::ProcessProgress - entered phase CCM_DOWNLOADSTATUS_PREPARING_DOWNLOAD
11-22-2022 21:17:28.991    ContentTransferManager    3540 (0xdd4)    CTMJob({792F9C7D-BDF4-4780-86FE-A052CD3AA690}): CCTMJob::ProcessProgress - entered phase CCM_DOWNLOADSTATUS_DOWNLOADING_DATA
11-22-2022 21:17:29.413    ContentTransferManager    3540 (0xdd4)    CTMJob({792F9C7D-BDF4-4780-86FE-A052CD3AA690}): CCTMJob::ProcessDownloadSuccess - successfully processed download completion.
11-22-2022 21:24:50.231    ContentTransferManager    3540 (0xdd4)    CTMAggregateDownloadHistoryTask::HandleDownloadHistory: preparing to aggregate and send download history to server.
CMBITSManager.log
---------------------------------------------
11-22-2022 21:17:29.475    CMBITSManager    3540 (0xdd4)    CCMBITSManager::NotifyDownloadComplete
11-22-2022 21:17:29.475    CMBITSManager    3540 (0xdd4)    For CMBITS job {C7CE0550-B5BE-4EA6-8F25-48E9F1413632}, CTM job {792F9C7D-BDF4-4780-86FE-A052CD3AA690} entered phase CCM_DOWNLOADSTATUS_DOWNLOAD_SUCCESSFUL
11-22-2022 21:46:45.760    CMBITSManager    2756 (0xac4)    Loaded persisted job with ID {D18A6008-66DB-442C-8F92-A04CFA1DA15A}, DisplayName Express Job  for content 7ca4f9b0-d72c-4974-9f24-183150df320f.1, on startup

差分コンテンツダウンロードは BITS ではなく、DO で実現しているので、BITS Explorer に表示されない。
ただし、CMBITS job は、BITS Explorer に表示される前の CM 内で生成される Job のようなので、ログには「Express Job」記録される。
CMBITSManager.log
---------------------------------------------
11-22-2022 21:05:05.959    CMBITSManager    4320 (0x10e0)    Added CMBITS job with ID:{4485462C-66C3-429B-A5C1-5BB976DAC373}, DisplayName:Express Job
11-22-2022 21:05:05.959    CMBITSManager    4320 (0x10e0)    Download manifest for the job 


**************************
ダウンロード完了のログ
**************************
DeltaDownload.log
---------------------------------------------
11-22-2022 21:17:28.694    DeltaDownload    4320 (0x10e0)    CDeltaBitsManager::ProcessRanges - batched 1048576 bytes
11-22-2022 21:17:33.756    DeltaDownload    4320 (0x10e0)    Bytes Transferred: 1048576
11-22-2022 21:17:33.756    DeltaDownload    4320 (0x10e0)    CDeltaBitsManager::DownloadRanges - updated m_workingJobMap for request -720575938231795590, BGJobState = 6
11-22-2022 21:46:47.198    DeltaDownload    3788 (0xecc)    ===========================================================

2022年4月14日木曜日

Configuration Manager で配布ポイントを構築する場合の確認点

 下記の公開情報の前提となる役割が追加されていること

サイトの前提条件 - Configuration Manager | Microsoft Docs

リモート差分圧縮(RDC)

DP の IIS 構成

アプリケーション開発:

ISAPI 拡張機能

セキュリティ:
Windows 認証

IIS 6 管理互換性:
IIS 6 メタベース互換
IIS 6 WMI 互換

ネットワーク的に接続できない場合も構築できないので、DNS で配布ポイントの名前解決ができないといけません。

AD サーバーのDNS の設定も確認しましょう。以前、原因は不明ですがドメイン参加しているのにDNS のA レコードにDP の IP Address が登録されずにハマったことがあります。

プライマリサイトサーバーからping やnslookup で疎通できるか確認しておきましょう。

また、プライマリサイトサーバーと配布ポイントに、互いのコンピューターアカウントを[Administrator]グループに追加しておきましょう。

以下は配布ポイント側でプライマリサイトサーバーCM のコンピューターアカウントを追加している様子です。プライマリサイトサーバー側にも忘れずDP 側のコンピューターアカウントを追加しましょう。

プライマリサイトサーバー側では、SQL Server Management Studio を開いて、Login アカウントに、DP のコンピューターアカウントを追加しましょう。これはアカウント参照ができないので、直接指定しないと追加できません。

リモートレジストリサービスも起動しているかチェックしておきましょう。

もし、WMI に問題がありそうな場合は、以下のファイルがプライマリサイトサーバーにありますので、こちらを配布ポイントまで持っていってください。

C:\Program Files\Microsoft Configuration Manager\bin\X64\smsdpprov.mof

配布ポイントに持っていったら、管理者権限でコマンドプロンプトを開いていただき、下記のコマンドを実行してみましょう。

mofcomp smsdpprov.mof

WMIExplorer で確認すると、下記のWMI が生成されていることが確認できます。

こちらが作成されていることを確認して、プライマリサイトサーバーから、配布ポイントの役割を削除後、再度追加してみましょう。

また、WMI 空間にプライマリサイトサーバーからリモートでアクセスできるかどうかも確認できますので、こちらも確認しておきましょう。

2022年4月8日金曜日

Configuration Manager で、SQL Server Reporting Services を追加する方法

SQL Server 2017 以降から、Reporting Services が SQL Server セットアップ時に選択ができなくなりました。

以下の画面でいうところの黄色い箇所になります。


そのため、Configuration Manager を利用する場合に、SQL Server 2017 以降を利用する場合は、別途、Reporting Services をインストールする必要があります。

まずは、以下のリンクから、SQL Server 2019 Reporting Services をダウンロードしましょう。


ダウンロードした「SQLServerReportingServices.exe」を実行して、上記公開情報にある通り、下記の箇所を参考にインストールを進めます。

こちらの手順を終えたら、下記を参考にして、レポートサーバーデータベースを作成します。



レポートサーバーデータベースが作成されると、SSMS より、下記のデータベースが作成されていることが確認できます。

ここまで来ましたら、次はローカルのレポートサーバーデータベースを作成します。これは、具体的には、下記にある通り、Reporting Services を利用して、データベースの変更をします。


上記手順にあるデータベースの変更は、具体的には以下から実行します。




こちらの処理が完了したら、Web Service URL を構成します。
Apply ボタン押すだけですが、以外と気づかないので、忘れずに実行しましょう。

ここまでの作業が完了したら、ReportingServer への接続を確認しましょう。


接続が完了したら、MECM 管理コンソールから、レポートサービスポイントの役割を追加しましょう。
役割を追加する際、上記の手順でレポート機能の準備ができていれば、下記の黄色の箇所にSSRS が選択できるようになります。これでレポート機能を使えるようになります。

ccmcache をパッケージ展開を利用してスクリプトでコンテンツを削除

 ccmcache の最大キャッシュサイズについては、クライアント設定から設定が可能です。


ただし、ソフトウェア更新プログラムについては、こちらの最大キャッシュサイズの制限は効かない動作となっております。
そのため、機能更新プログラムを配信すると、すぐにキャッシュサイズが大きくなる場合があります。
そのような場合、クライアント側であれば、クライアントコンソールから下記のボタンより、ccmcache をクリアすることが可能です。
しかし、サーバー側から直接削除するための指示というのは、標準機能では存在しません。
そのため、このクライアント側の容量をサーバー側からなんとかしたい、ということを管理者は考えます。
その場合、ccmcache のフォルダーを直接削除するスクリプトを配布するのはNG です。
ccmcache フォルダーはWMI 空間で管理されているので、下記のPowerShell コマンドから削除しないといけません。
$UIResourceMgr = New-Object -Com "UIResource.UIResourceMgr"
$Cache = $UIResourceMgr.GetCacheInfo()
$Cache.GetCacheElements() | % {$Cache.DeleteCacheElement($_.CacheElementID)}

あとは、こちらを test.ps1 などのファイルにして、パッケージ展開をするだけです。
パッケージ展開で気をつけるところは、PowerShell コマンドの実行には、下記のようにコマンドを指定しないとうまく動きません。

powershell.exe -ExecutionPolicy Bypass -NoLogo -NonInteractive -NoProfile -WindowStyle Hidden -File test.ps1

こちらのコマンドは、以下の画面の [コマンド ライン] へ入力します。

こちらのパッケージを作成したら、今度は対象のコレクションへ配信するために展開を作成します。

ここでも注意が必要です。下記のように、配布ポイントの展開オプションで [配布ポイントからプログラムを実行する] を選択する必要があります。

こちらの展開オプションを選択しない場合、クライアントはローカルにスクリプトをダウンロードして実行してしまうため、以下のエラーが execmgr.log に記録されます。

CacheManager: Cache is in Use. DeleteCacheItem cannot proceed.
CacheManager.DeleteCacheItem failed with 0x87d01203

エラーコード:0x87d01203 は、今回のシナリオでは、削除対象のコンテンツがダウンロード中であったり、実行中である場合に記録されるものとなるため、ローカルにスクリプトをダウンロードして実行すると、こちらのエラーが発生します。

そのため、上記の配布ポイントの展開オプションは必須となりますが、こちらは SMB プロトコルで通信をしますので、ポート445 が開放していない環境では利用できませんので、ご注意ください。