用VBS修改(设置)系统时间和日期的代码_vbs

那天跟别人聊到 Y2K38 问题,于是想到一个恶作剧:用 VBS 把系统的时间修改到2038年1月19日3时14分07秒之后,这样某些依赖于 Unix 时间戳的程序就会出问题。那么怎样用 VBS 修改系统的时间呢?

最简单也是最没有技术含量的方法就是调用 cmd 的 date 和 time 命令:

复制代码 代码如下:

'Author: Demon
'Website: http://demon.tw
'Date : 2011/4/27
Dim WshShell
Set WshShell = CreateObject("wscript.Shell")
WshShell.Run "cmd.exe /c date 2038-01-19", 0
WshShell.Run "cmd.exe /c time 3:14:08", 0

比较有技术含量的方法是用 WMI 的 Win32_OperatingSystem 类的 SetDateTime 方法:

复制代码 代码如下:

'Author: Demon
'Website: http://demon.tw
'Date : 2011/4/27
dtmNewDateTime = "20380119031408.000000+480" 'UTC时间
strComputer = "."
Set objWMIService = GetObject("winmgmts:{(Systemtime)}\\" & strComputer & "\root\cimv2")
Set colOSes = objWMIService.ExecQuery("Select * From Win32_OperatingSystem")
For Each objOS In colOSes
objOS.SetDateTime dtmNewDateTime
Next

Windows 7 在开启 UAC 的情况下需要管理员权限才能修改时间,一点也不好玩。

参考链接:Hey, Scripting Guy! How Can I Set the Date and Time on a Computer?

来自: http://demon.tw/programming/vbs-modify-system-time.html

时间: 2025-01-21 07:08:33

用VBS修改(设置)系统时间和日期的代码_vbs的相关文章

CMD和vbs修改 IP地址及DNS的实现代码_vbs

修改IP cmd /c netsh interface ip set address name=" 本地连接" source=static addr=211.82.56.253 mask=255.255.255.0 gateway=211.82.56.1 gwmetric=1 修改DNS cmd /c netsh interface ip set dns name="本地连接" source=static addr=202.99.192.66 配置或更新IP地址:

.net中设置系统时间

回复人: acptvb(微软全球技术中心 VB技术支持) ( ) 感谢您使用微软产品. .NET并没有提供可以修改系统时间的名字空间(namespace),您可以通过Win32 API的SetSystemTime API函数来设置系统时间: using System;using System.Runtime.InteropServices; [StructLayout(LayoutKind.Sequential)]public struct SystemTime{ public ushort w

Windows 10设置系统时间显示到秒的方法

在电脑的任务栏右侧会显示系统时间,往往只显示到分,而一位Win10用户想让系统时间显示到秒,这该如何操作呢?操作方法其实很简单,我们只要在注册表修改一个值即可,具体操作方法如下. 方法\步骤: 1.在Cortana搜索栏输入regedit,按回车键进入注册表编辑器; 2.定位到:HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced,新建DWORD(32位)值,命名为ShowSecondsInSy

Delphi实现读取系统时间与日期完整实例_Delphi

本文讲述了Delphi读取系统时间与日期的实现方法,首先设置各个控件用于显示时间.读取时间与设置时间.再添加如下代码: unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Memo1: TMemo; Button2: TButton; pr

C++设置系统时间及系统时间网络更新的方法_C 语言

本文实例讲述了C++设置系统时间及系统时间网络更新的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: //根据返回的时间设置系统时间 void setTimeFromTP(ULONG ulTime) {      FILETIME ft;      SYSTEMTIME st;        //将基准时间转换成windows文件时间      st.wYear = 1900;      st.wMonth = 1;      st.wDay = 1;      st.wHo

Mac修改系统时间和日期的方法

  电脑中有系统自带的时间,我们通常可以根据这些系统自带的时间,来规划我们的休息和工作等,不过有时我们需要将时间进行调整,以便更好的适应我们的工作生活需要,那么MAC系统时间该如何修改呢?现在就小编来教大家一个实用的方法吧. 修改MAC时间: 第一步:打开系统偏好设置.   第二步:选择"日期与时间选项".   第三步:去掉系统默认的自动设置时间选项.   第四步:改成自己想要的时间.   第五步:点击储存选项,时间和日期就设置好了. 以上就是修改系统时间的方法了,如果你的时间安排和系

Linux 设置系统时间和时区的方法

1 设置时间为22点54分54秒 date -s 22:54:54 2 设置日期为2015年12月13日 date -s 12/13/15 3.设置时区 tzselect 然后选择亚洲 输入5回车 然后再选择中国 输入9回车 再选择east China – Beijing, Guangdong, Shanghai, etc. 输入1回车 最后输入命令 TZ='Asia/Shanghai'; export TZ 才会使得时区生效 修改设置时区 方法(1) tzselect 方法(2) 仅限于Red

怎么修改电脑系统时间?

修改时间方法 1.在你电脑任务栏右边双击时间就会弹出如下界面了.   2.在这个界面我们就可以随意的修改时间了.   3.要修改日期我们只要点击更改日期和时间   4.要修改时间我们只要点击时间即可 系统时间无法修改解决办法 1:在开始菜单点击"运行".   2:然后在运行输入 w32tm /register,回车.   3:这样会提醒注册成功了.   4:现在在"开始"->"控制面板"   5:然后在控制面板中点击"管理工具&q

linux中date命令设置系统时间的方法

首先必须是root帐号. 名称 : date 使用权限 : 所有使用者 使用方式 : date [-u] [-d datestr] [-s datestr] [--utc] [--universal] [--date=datestr] [--set=datestr] [--help] [--version] [+FORMAT] [MMDDhhmm[[CC]YY][.ss]] 说明 : date 可以用来显示或设定系统的日期与时间,在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个