从Windows的所有用户的凭据管理器中删除条目

Pet*_*tor 6 windows powershell cmd credential-manager

我目前在Windows卸载程序实现对所有用户"删除设置",然后走过来一个问题,我不知道她有可能解决.

应用程序使用CredentialManager(keymgr.dll)存储当前用户的凭据条目.让我们调用凭证"X"的目标.在卸载时,应删除所有用户存储的目标为"X"的凭据.卸载程序当然需要管理员权限,但我发现很难完成此任务.

对于当前用户,该命令通常通过cmdkey /delete=:X命令提示符解决.据我所知,cmdkey.exe /list只有帮助列出当前用户的条目,并且无法从其他用户删除本地条目.

我了解到凭据存储为文件C:\Users\_user_\AppData\Local\Microsoft\Credentials夹下的操作系统文件,但我不知道哪些文件是我要删除的条目,删除所有文件对其他应用程序都是危险的.此外,我认为删除操作系统文件将是危险的,并可能有限制(额外的UAC提示?).

Runas命令是我得到的最接近的镜头,但因为它需要用户的密码,这变得非常困难,而不是我想要的卸载程序.我还需要一种方法来获取每个用户的用户名和域并迭代它们.

我宁愿使用其中之一cmdpowershell为此.

Jeb*_*buz 12

不想坏死一个旧帖子,但我需要自己这样做,所以我想我会添加这个以防其他人需要它:

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

Powershell one liner,将在字符串中删除Microsoft的任何凭据.

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

我运行它并在本地清除它而无需以管理员身份运行(但我是本地管理员)