更新VBScript以使用Windows 7

时间:2011-02-23 13:22:42

标签: vbscript

我目前正在我的域计算机上运行Windows XP Pro,并且正在迁移到Windows 7。

我有一个计划任务,它在登录时运行一个VB脚本,为当前用户分配一个分区。

以下是设置细分

   -80 GB hard drive
   -30 GB system partition
   -10 GB partition (DMW Drive)
   -10 GB partition (DTH Drive) 
   -10 GB partition (NMW Drive)
   -10 GB partition (NTH Drive)

脚本根据登录时间分配正确的驱动器。我们使用它来为用户提供存储空间以便拥有保存数据的完全访问权限。

这在XP上完美运行,但不能在Windows 7上运行。

这是脚本。

set wshshell = wscript.CreateObject("Wscript.Shell")
    iReturn = WshShell.Run("Diskpart.exe /s removeall.txt", 1, True)
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_LocalTime", , 48)
For Each objItem In colItems
    DayOfWeek = objItem.DayOfWeek
    HourOfDay = objItem.Hour
Next
    If DayOfWeek = 1 Or DayOfWeek = 3 Then
        If HourOfDay >= 6 And HourOfDay <= 13 Then
            iReturn = WshShell.Run("Diskpart.exe /s Aset.txt", 1, True)
        End If
        If HourOfDay >= 15 And HourOfDay <= 22 Then
            iReturn = WshShell.Run("Diskpart.exe /s Cset.txt", 1, True)
        End If
    End If
    If DayOfWeek = 2 Or DayOfWeek = 4 Then
        If HourOfDay >= 6 And HourOfDay <= 13 Then
            iReturn = WshShell.Run("Diskpart.exe /s Bset.txt", 1, True)
        End If
        If HourOfDay >= 15 And HourOfDay <= 22 Then
            iReturn = WshShell.Run("Diskpart.exe /s Dset.txt", 1, True)
        End If
    End If

以下是脚本调用的文本文件。

ASet.txt = select volume 2
       assign
BSet.txt = select volume 3
       assign
CSet.txt = select volume 4
       assign
DSet.txt = select volume 5
       assign

Removeall.txt = 
              select volume 2
              remove noerr
              select volume 3
              remove noerr
              select volume 4
              remove noerr
              select volume 5
              remove noerr

任何意见都将受到赞赏。

谢谢。

1 个答案:

答案 0 :(得分:1)

由于diskpart需要提升,因此您需要将计划任务配置为在任务属性的“常规”选项卡上运行提升(“以最高权限运行”)。