标签:
Windows SteadyState可防止计算机的设置被更改,可防止某些用户自行安装不需要的软件,可以实现Windows 磁盘保护功能,还提供了磁盘保护功能的API编程接口,完全可以媲美影子系统(PowerShadow)。
在安装 Windows SteadyState 之前,需要验证计算机运行的是否为正版 Microsoft Windows。
我们这里重点关注SteadyState的磁盘保护功能。
第一次安装 Windows SteadyState 时,Windows 磁盘保护默认为关闭状态,Windows 磁盘保护打开后,会创建一个缓存文件,用于保存对操作系统和程序文件的所有更改。创建的
缓存文件将在系统驱动器上预留大量的空间,安装并打开 Windows 磁盘保护之后,再关闭 Windows 磁盘保护会删除安装过程中创建的缓存文件。
在安装并打开 Windows 磁盘保护之前,应先对硬盘进行碎片整理,在有碎片的硬盘上安装并打开 Windows 磁盘保护会导致创建 Windows 磁盘保护缓存失败。
使用SteadyState的磁盘保护功能需要使用管理员登陆计算机。
a.执行磁盘碎片整理;
b.通过SteadyState打开磁盘保护功能,注意打开后默认状态是“重新启动时删除所有更改”;
c.要保存当前系统状态,请选择“永久保留所有更改”;
d.要实现磁盘保护、系统还原功能,请选择“重新启动时删除所有更改”。
一句话总结:
选择“永久保留所有更改”后,对系统进行各种设置,之后重新启动计算机,再设置为“重新启动时删除所有更改”并重启即可。
Windows SteadyState 应用程序编程接口 (API) 由 Windows Management Instrumentation (WMI) 接口组成。
安装好SteadyState之后,在WMI的命名空间root\WMI下,会有一个叫做WDP_CONTROL的WMI类,该类具有五个属性:
EnableWDPAndReboot、CurrentStatus、CurrentMode、DisableWDPAndReboot 和 PersistDateTime。
表 1:Windows 磁盘保护模式以及对应的磁盘保护级别
Windows 磁盘保护模式 |
磁盘保护级别 |
---|---|
WDP_MODE_DISCARD (0) | 在重新启动时删除所有更改 |
WDP_MODE_PERSIST (1) | 临时保留更改 |
WDP_MODE_COMMIT (2) | 永久保留所有更改 |
如果 Windows 磁盘保护主动缓存更改,则处于主动状态 (WDP_ACTIVE)。在 Windows 磁盘保护打开时,如果可以直接将更改保存到硬盘中,而不必使用缓存文件作为临时存储,Windows 磁盘保护则处于被动状态 (WDP_PASSIVE)。
请注意,用户无法通过 Windows SteadyState 用户界面选择或写入被动状态 (WDP_PASSIVE),该状态供 Windows SteadyState 应用程序内部使用。通常,此属性的值是 WDP_ACTIVE。
DisableWDPAndReboot 可以禁用并卸载 Windows 磁盘保护。此脚本执行的功能与在 Windows SteadyState 用户界面中关闭 Windows 磁盘保护相同。该过程要求进行三次重新启动来完成下列任务:
const WDP_ACTIVE = 0
const WDP_PASSIVE = 1
' WDP_Control.CurrentMode
const WDP_MODE_DISCARD = 0
const WDP_MODE_PERSIST = 1
const WDP_MODE_COMMIT = 2
' WDP_Control.PersistDateTime 属性要求使用 FILETIME 类型。
' 通过可读字符串创建 FILETIME 最容易的方式是使用
' WBemScripting.SWbemDateTime 对象。
set dateTime = Createobject ("WBemScripting.SWbemDateTime")
' 将 datetime 设置为 2020 年 5 月 8 日上午 8:00
dateTime.SetVarDate #5/8/2020 08:00:00 AM#
' 获取 WDP_Control WMI 类的实例
set objWbemServices = GetObject ("winmgmts:\\.\root\wmi")
set setWdpObjects = objWbemServices.ExecQuery ("Select * FROM WDP_Control")
for each objWdp in setWdpObjects
objWdp.CurrentMode = WDP_MODE_PERSIST
objWdp.PersistDateTime = dateTime.GetFileTime
objWdp.Put_
next
Windows 磁盘保护功能在 Windows SteadyState API 的说明:
http://support.microsoft.com/kb/938335/zh-cn
SteadyState在某种程度上比EWF和GHOST都要好用,只是要占用C盘比较多的空间。
用Windows SteadyState来保护Windows系统安全,实现磁盘保护
标签:
原文地址:http://www.cnblogs.com/dgx/p/5491523.html