成しうる者が為すべきを為す

他愛ないダイアリーあるいは陳腐なナレッジベースもしくは独善的なフィロソフィ

wushowhideが0x80070005となり実行できない話

ちょっとした技術系メモもこのブログに書いていこうと思っていたところに
丁度いいネタができたので初のナレッジベース投稿です

Windows10を少々マニアックに管理している人なら一度くらいは使ったことがあると思いますが
wushowhide.diagcabといえばMicrosoftが提供しているトラブルシューティングツールで
特定のWindowsUpdateを一時的に停止できるツールですね
https://support.microsoft.com/ja-jp/help/3073930/how-to-temporarily-prevent-a-driver-update-from-reinstalling-in-window


僕もたまに使っているのですが、今日使ってみようとしたところ以下のようなエラーが。
f:id:erigeron:20190505232302p:plain


うーん、PCの再起動やウイルス対策ソフトの一時停止をしてみましたが状況に変化はありません
ググってみると同じような症例は前々から発生しているようですが、解決や原因に直結するような情報は案の定なし
answers.microsoft.com
(個人的にMicrosoftコミュニティで、"これだ!!!"って回答に辿り着けたことはなかなかありません・・・)

試行錯誤してみたところ、割とあっさり暫定回避策が見つかったので記載します

f:id:erigeron:20190505232922p:plain
Windows10なら右クリックで簡単に起動できるので便利ですね

  • 次にローカルに保存しているwushowhide.diagcabのディレクトリまで移動する
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

PS C:\WINDOWS\system32> cd D:\user\Documents\
PS D:\user\Documents> ls


    ディレクトリ: D:\user\Documents


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----       2019/05/05     22:49                temp
-a----       2019/05/05     18:20          46682 wushowhide.diagcab

 
 

  • そして実行するだけ
PS D:\user\Documents> .\wushowhide.diagcab


あっさり起動してくれましたね
f:id:erigeron:20190505233852p:plain


エラー画面内に"制限付き"とか表示されていたので「管理者権限で強制的に実行できればいけるのでは?」という発想からでしたが
トラブルシューティングツールは右クリックしても"管理者として実行"が表示されないようなのでプロンプトを噛ませる形にしてみました
 
今回はPowerShellでやっているのでこういう形になっていますが"管理者で実行している"とWindowsに認識させられれば良いので
多分コマンドプロンプトで実行してもうまくいくと思います
 
以前はこんな回りくどいことしなくても普通に実行できていたんですが、いつからこうなったのかは不明
特にこれといって設定や環境を大きく変えた認識は無いので、何らかのアップデートで仕様が変わってしまったんだろうか?