从个人存储中删除所有证书

时间:2019-03-23 02:29:42

标签: vbscript certificate-store

我有一个带VBSCRIPT的.HTA文件,用于在用户完成其“会话”操作后从计算机中删除用户数据。除了单击按钮以关闭其“会话”之外,所有这些操作都不需要用户进行任何交互。该脚本的一部分执行一个Powershell文件,该文件将从个人存储中删除所有证书。

pwrshlcmd = "powershell -executionpolicy bypass -noexit -windowstyle hidden -file " & SRC_PATH & "\DeleteUserCerts.ps1"
objShell.Run(pwrshlcmd, 0, True)

一切工作良好,直到最近实施了通过脚本阻止.WSF文件,Powershell命令/文件和.BAT文件执行的组策略。我可能还没有发现其他可能被阻止的东西。有关我们组织的组策略已实施了多个级别,因此不太可能取消。

我正在寻找另一种使用VBSCRIPT删除这些证书的方法,同时仍然不需要任何用户交互。


在大多数情况下,我都可以使用CreateObject("Wscript.Shell")

这未被阻止: objShell.Run("rundll32.exe InetCpl.cpl, ClearMyTracksByProcess 4351")

已被阻止(Powershell): objShell.Run(pwrshlcmd, 0, True)-请参见上面的变量定义


我已尝试使用以下网站作为参考的CAPICOM。但是,我发现CAPICOM DLL尚未安装在我们的任何计算机上。
http://www.sccm-tools.com/tools/vbscript/vbscript-certificates.html

我尝试过CERTMGR
objShell.Run("certmgr /del /all /c /s my")-这些计算机上不存在certmgr.exe =错误
objShell.Run("rundll32.exe certmgr.dll /del /all /c /s my")-启动certmgr Dialoag窗口,但不执行其他操作;我认为这些选项适用于.EXE,而不适用于.DLL

我已经研究了CERTUTIL,但是无论如何都看不到要从用户个人存储中删除所有证书。其delstore选项需要证书ID。


对于使用VBSCRIPT删除这些证书的另一种方法,我仍然完全不知所措,同时仍然不需要任何用户交互。任何帮助将不胜感激。

0 个答案:

没有答案