Обновите VBScript для работы с Windows 7 - PullRequest
0 голосов
/ 23 февраля 2011

В настоящее время я использую 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 Ответ

1 голос
/ 23 февраля 2011

Поскольку для diskpart требуется повышение прав, необходимо настроить запланированное задание для запуска с повышенными правами («Запуск с наивысшими привилегиями» на вкладке «Общие» свойств задачи).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...