以编程方式使用c#删除证书管理器的Web证书部分中的任何条目

问题描述:

我正在开发一个wpf桌面应用程序,它只允许任何用户使用3个metro应用程序,即FB,Skype和Viber。只要用户通过我的应用程序结束他的会话,我必须删除用户登录这些应用程序所使用的凭证。我发现这些metro应用程序在Credential Manager的“Web Credentials”部分中存储了凭据相关信息。我想用c#以编程方式删除这些输入,这样当任何其他用户通过我的应用程序打开metro应用程序时,他会看到登录屏幕。以编程方式使用c#删除证书管理器的Web证书部分中的任何条目

我想告诉大家,我所用的方法清除网络凭据。

  1. 停止凭借管理员权限运行的应用程序中的凭据管理器服务。
  2. 删除本地用户的Local \ Microsoft \ Vault中扩展名为.vcrd和.vsch的所有文件。
  3. 启动凭证管理器服务。

注意:对于第2点,应用程序必须以特定的用户权限运行,因为每个用户都有自己的配置文件。

看看这个How to store user credentials (XAML)。它会带你通过处理Windows应用商店中的凭证。

+0

其实我想删除Facebook,skyp或viber添加的条目。当我尝试使用PasswordVault获取条目列表,但它没有给我任何结果 – 2014-11-24 09:49:55

试试这个代码:

您可以使用PowerShell脚本来管理凭据管理器。
评论这个剧本发表在MSDN库脚本:
https://gallery.technet.microsoft.com/scriptcenter/PowerShell-Credentials-d44c3cde
然后,按照这个样品从C#执行PowerShell命令:
http://blogs.msdn.com/b/kebab/archive/2014/04/28/executing-powershell-scripts-from-c.aspx