2016-09-13 3 views
1

現在、Windowsアンインストーラ内のすべてのユーザーに対して「設定を削除」を実装しており、解決することすらできない問題が発生しました。Windows上のすべてのユーザーの資格情報マネージャからエントリを削除します

アプリケーションストア資格証明(keymgr.dll)を使用して、現在のユーザーの資格情報のエントリ。信用証明書 "X"のターゲットを呼び出しましょう。アンインストール時に、ターゲット "X"が格納されているすべての資格情報をすべてのユーザーで削除する必要があります。もちろん、アンインストーラには管理者権限が必要ですが、これを達成することは非常に困難です。コマンドは、一般的に、コマンドプロンプトからcmdkey /delete=:Xを介して解決される現在のユーザの

。私が知る限り、cmdkey.exe /listは現在のユーザーのエントリを一覧表示するのに役立ち、他のユーザーからローカルエントリを削除することはできません。

資格情報がC:\Users\_user_\AppData\Local\Microsoft\Credentialsフォルダの下にOSファイルとして保存されていることを知りましたが、削除したいエントリがどのファイルであるのか分からず、すべて削除すると他のアプリケーションにとって危険です。また、私はOSファイルを削除することは危険であり、制限がある(UACプロンプトが余分に表示される)と思われます。

Runasコマンドは、ユーザーのパスワードが必要なので非常に難しく、アンインストーラでは必要としないものです。私はまた、各ユーザーのユーザー名とドメインを取得し、それらを反復する方法が必要です。

私はこのためにcmdまたはpowershellのいずれかを使用することを好むだろう。

+0

こんにちは、これについては私自身の研究のビットをした後、あなたが信用を所有しているユーザーとして実行していなければ、達成したいことはできないと思います。せいぜい、あなたは*すべての*保存されている資格情報を削除することができるようになります... – sodawillow

答えて

3

は古いポストをネクロしたくないが、私は自分自身がそう、私は他の誰がそれを必要とする場合には、私はこれを追加したい考え出しこれを行うために必要な:任意の資格情報を削除します

cmdkey /list | ForEach-Object{if($_ -like "*Target:*" -and $_ -like "*microsoft*"){cmdkey /del:($_ -replace " ","" -replace "Target:","")}} 

PowerShellの1つのライナー文字列の中にMicrosoftと一緒にいる。

参考: https://gist.github.com/janikvonrotz/7819990

が、私はこれを実行し、それを管理者として実行することなく、ローカルにパージ(私はローカル管理しています)

関連する問題