用Windows SteadyState来保护Windows系统安全,实现磁盘保护

1.Windows SteadyState简介

Windows SteadyState可防止计算机的设置被更改,可防止某些用户自行安装不需要的软件,可以实现Windows 磁盘保护功能,还提供了磁盘保护功能的API编程接口,完全可以媲美影子系统(PowerShadow)。

2.下载安装Windows SteadyState

中文版下载地址:
http://www.microsoft.com/downloads/details.aspx?familyid=D077A52D-93E9-4B02-BD95-9D770CCDB431&displaylang=zh-cn

在安装 Windows SteadyState 之前,需要验证计算机运行的是否为正版 Microsoft Windows。

3.SteadyState的磁盘保护功能

我们这里重点关注SteadyState的磁盘保护功能。

3.1 SteadyState的磁盘保护功能原理

第一次安装 Windows SteadyState 时,Windows 磁盘保护默认为关闭状态,Windows 磁盘保护打开后,会创建一个缓存文件,用于保存对操作系统和程序文件的所有更改。创建的

缓存文件将在系统驱动器上预留大量的空间,安装并打开 Windows 磁盘保护之后,再关闭 Windows 磁盘保护会删除安装过程中创建的缓存文件。

在安装并打开 Windows 磁盘保护之前,应先对硬盘进行碎片整理,在有碎片的硬盘上安装并打开 Windows 磁盘保护会导致创建 Windows 磁盘保护缓存失败。

3.2 使用SteadyState的磁盘保护功能

使用SteadyState的磁盘保护功能需要使用管理员登陆计算机。
a.执行磁盘碎片整理;
b.通过SteadyState打开磁盘保护功能,注意打开后默认状态是“重新启动时删除所有更改”;
c.要保存当前系统状态,请选择“永久保留所有更改”;
d.要实现磁盘保护、系统还原功能,请选择“重新启动时删除所有更改”。

一句话总结:
选择“永久保留所有更改”后,对系统进行各种设置,之后重新启动计算机,再设置为“重新启动时删除所有更改”并重启即可。

3.3 使用 Windows 磁盘保护 API

Windows SteadyState 应用程序编程接口 (API) 由 Windows Management Instrumentation (WMI) 接口组成。

安装好SteadyState之后,在WMI的命名空间root\WMI下,会有一个叫做WDP_CONTROL的WMI类,该类具有五个属性:
EnableWDPAndReboot、CurrentStatus、CurrentMode、DisableWDPAndReboot 和 PersistDateTime。

a.CurrentMode

通过 CurrentMode 属性可以设置或检索 Windows 磁盘保护的当前模式。注意,只有 CurrentStatus 属性是 WDP_ACTIVE,才能应用 CurrentMode 属性。表 1 中列出的 CurrentMode 属性直接对应于 Windows 磁盘保护打开时可用的三个磁盘保护级别。

表 1:Windows 磁盘保护模式以及对应的磁盘保护级别


Windows 磁盘保护模式


磁盘保护级别

 WDP_MODE_DISCARD (0)  在重新启动时删除所有更改
 WDP_MODE_PERSIST (1)  临时保留更改
 WDP_MODE_COMMIT (2)  永久保留所有更改
b.CurrentStatus

CurrentStatus 属性是只读属性。在查询时,此属性将返回一个值,表明 Windows 磁盘保护是主动的还是被动的。可能会返回下列两个值:

  • WDP_ACTIVE (0)
  • WDP_PASSIVE (1)

如果 Windows 磁盘保护主动缓存更改,则处于主动状态 (WDP_ACTIVE)。在 Windows 磁盘保护打开时,如果可以直接将更改保存到硬盘中,而不必使用缓存文件作为临时存储,Windows 磁盘保护则处于被动状态 (WDP_PASSIVE)。

请注意,用户无法通过 Windows SteadyState 用户界面选择或写入被动状态 (WDP_PASSIVE),该状态供 Windows SteadyState 应用程序内部使用。通常,此属性的值是 WDP_ACTIVE。

c.DisableWDPAndReboot

DisableWDPAndReboot 可以禁用并卸载 Windows 磁盘保护。此脚本执行的功能与在 Windows SteadyState 用户界面中关闭 Windows 磁盘保护相同。该过程要求进行三次重新启动来完成下列任务:

  1. 清除缓存。
  2. 提交对计算机所做的更改(删除 Windows 磁盘保护驱动程序)。
  3. 完成 Windows 磁盘保护的卸载。

也可以执行命令:sctui /DisableWDPAndReboot

d.EnableWDPAndReboot

EnableWDPAndReboot 可以安装并启用 Windows 磁盘保护。在安装期间,将打开一个显示状态消息的控制台窗口。如果安装成功,将自动重新启动系统,以完成 Windows 磁盘保护的启用。

也可以执行命令:sctui /EnableWDPAndReboot

e.PersistDateTime

在 Windows 磁盘保护打开时,通过 PersistDateTime 属性可以查询或指定 WDP_MODE_PERSIST 过期并自动还原为 WDP_MODE_DISCARD 的日期和时间。在查询时,此属性的日期类型是 WBemScripting.SWbemDateTime。注意,除非 CurrentMode 属性设置为 WDP_MODE_PERSIST,否则,PersistDateTime 属性无效。

以下示例代码定义一些常数,将 Windows 磁盘保护级别设置为“临时保留更改”选项 (WDP_MODE_PERSIST),然后指定此模式过期并还原为“在重新启动时删除所有更改”选项 (WDP_MODE_DISCARD) 的日期和时间。

' WDP_Control.CurrentStatus

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

4.其他SteadyState相关文章

Windows 磁盘保护功能在 Windows SteadyState API 的说明:
http://support.microsoft.com/kb/938335/zh-cn

5.小结

SteadyState在某种程度上比EWF和GHOST都要好用,只是要占用C盘比较多的空间。

时间: 2024-09-30 15:44:49

用Windows SteadyState来保护Windows系统安全,实现磁盘保护的相关文章

atitit.Windows Server 2003 2008 2012系统的新特性 attilax 总结

atitit.Windows Server 2003  2008  2012系统的新特性 attilax 总结 1. Windows Server 2008 新特性也可以归纳为4个方面. 1 2. 相比Windows Server 08,R2 2 3. win 2012  新特性 2 4. 参考 6 1. Windows Server 2008 新特性也可以归纳为4个方面. 即将发布的Windows Server 2008是企业级的应用平台,可以为CRM等企业级应用提供更好更强的支撑,其新特性也

windows下安装ubuntu双系统

看到网上很多文章在讲windows下安装linux双系统,可是大多都是针对虚拟机的,而想真正的学习linux,仅仅在虚拟机下是不可能学好的,因为你在虚拟机下运行linux这并没有 将linux与windows放在平等的位置.下面这篇文章就介绍如何真正安装windows-linux双系统. 为了安装ubuntu系统,我们需要准备一下几件事:1.ubuntu的安装包.2.给ubuntu系统安装腾出硬盘空间(对好多人来说就像在抢自己的饭碗一样,很是舍不得给ubuntu系统多分一点,虽然也要不了多少).

C#捕获windows关机事件,在系统关机前做一些自己想做的事

C#捕获windows关机事件,在系统关机前做一些自己想做的事: 有些时候我们可能想在Windows关机时记录或处理一些事情,这里提供几种方法. 方法一: /// <summary> /// 窗口过程的回调函数 /// </summary> /// <param name="m"></param> protected override void WndProc(ref Message m) { switch (m.Msg) { //此消息

Windows server用好windows server backup,发挥个人电脑该有的系统还原功能

笔记本上安装windows server的各位是不是有个感触,默认软件升级.软件更新,系统是没有系统还原的(磁盘清理发现也没有还原点可清理),也就是系统出了问题,还原不了干着急. 其实,windows server 的windows server backup组件比系统还原更强大,这里介绍下如何使用该组件达到个人windows该有的系统还原. 建议专门做一个分区,用户存放系统还原: 使用定期备份,最老的还原点系统会自动清理 其中,备份内容选择系统状态.我设置后的样例如下: 备份周期wbadmin

如何在Windows Server 2008 R2没有磁盘清理工具的情况下使用系统提供的磁盘清理工具

今天,刚好碰到服务器C盘空间满的情况,首先处理了临时文件和有关的日志文件后空间还是不够用,我知道清理C盘的方法有很多,但今天只分享一下如何在Windows Server 2008 R2没有磁盘清理工具的情况下使用系统提供的磁盘清理工具. 一.在Windows Server 2008 R2,右击C盘,选择属性,弹出下面的界面: 即没有下面清理C盘的工具: 那如何使用系统自带的清理工具呢. 二.驱动器的常规属性和 cleanmgr.exe 磁盘清理选项不是默认情况下出现在 Windows Serve

在windows上安装ubuntu双系统

一.制作U盘启动Ubuntu镜像文件 1. 从Ubuntu官网http://cn.ubuntu.com/download/下载系统的iso文件,下载时确定好想用的版本号,有些环境如ROS是对Ubuntu版本有要求的. 用来制作的U盘需要是FAT32格式的,可以通过格式化U盘更改. 注意:超过32GB的U盘需要用专业格式化工具(如diskgenius)进行格式化 2. 从网上下载新版UltraISO软件安装,打开软件后点击下图中红色框内按钮 备注:推荐用UltralSO,用其他的也可以,比如Ruf

Windows之80端口被系统占用

Windows之80端口被系统占用 在安装apache的时候发现80端口被占用 查找占用80端口的应用 释放本地80端口: 1.以管理员身份打开cmd 2.运行以下命令 net stop http sc config http start= disabled 原文地址:https://www.cnblogs.com/zhangcheng94/p/12150342.html

TightVNC 远程连接 windows 电脑连接访问 Mac 系统

windows 电脑连接访问 Mac 系统 在官网下载:TightVNC TightVNC是一个跨平台自由和开放源码远程桌面软件应用程序.由Constantin Kaplinsky开发,采用扩展RFB协议的虚拟网络计算(Virtual Network Computing,VNC)程序应用软件,用于以允许终端用户可以远端控制另一台电脑上的屏幕. TightVNC 有两个tvnserver.exe服务端和tvnviewer.exe客服端,连接别的电脑运行客户端,想被别人连使用服务端 https://

Windows Server 2008及以上系统磁盘无法查看(About UAC and ACE)

在windows Server2008及以上系統,如果UAC Enabled,ACE列表中不會包含Administrators成員的SID,所以即使你是administrators的成員,也無法訪問D盤! 解决方法参考如下文章: Changes to tokens When a user who is a member of the Administrators group in Windows® XP or Windows Server 2003 logs on to a computer,