2017-06-14 64 views
0

我试图在Windows 10上使用以下可视基本脚本启用系统保护。但它给出了一个错误“访问被拒绝”。我搜索了关于WMI类的微软文档,感觉就像下面的代码对于Windows 7或XP而言完全正常,但对于Windows 10并非如此,并且在微软网站上查找文档时花费了大量时间,我一直无法找到任何如何做到这一点的线索。在Windows上使用visual basic脚本启用系统保护8/10

注意:我正在寻找一个可视化的基本脚本ony,如果不是,它可以在Windows 10上启用保护。

strComputer = "." 

Set objWMIService = GetObject("winmgmts:" _ 
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\default") 

Set objItem = objWMIService.Get("SystemRestore") 
errResults = objItem.Enable("D:\") 

'Inform User that the task is done. 
Mybox = MsgBox("System Restore is now enabled on "& strComputer &"" & 
vbCRLF ,vbOkOnly,"System Restore Enabled") 
+0

我已将用户帐户控制设置设置为“从不通知”。 –

+0

您仍然需要“以管理员身份运行”才能使脚本正常工作。请参阅[这里](https://stackoverflow.com/q/36458651/886887)和[这里](https://stackoverflow.com/q/11980651/886887)。 –

+0

我曾尝试过,但它仍然无法正常工作。 –

回答

0

我明白了。以下代码在Windows 10中成功启用系统保护。

If Not WScript.Arguments.Named.Exists("elevate") Then 
    CreateObject("Shell.Application").ShellExecute WScript.FullName _ 
    , WScript.ScriptFullName & " /elevate", "", "runas", 1 
    WScript.Quit 
End If 
Dim oSR 
Set oSR = GetObject("winmgmts: 
{impersonationLevel=impersonate}!root/default:SystemRestore") 
oSR.Enable("D:" & "\") 
相关问题