Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Запуск vbs скрипта перед входом в систему / 5 сообщений из 5, страница 1 из 1
20.06.2012, 13:22:35
    #37846254
Captd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск vbs скрипта перед входом в систему
Добрый день!

Есть скрипт, резервного копирования папок, который при включении компьютера отключает сетевое подключение, далее копирует нужные данные, и включает снова сетевое подключение. Перед запуском данный скрипт проверяет, если уже делалась копия с сегодняшней датой, то он не делает копию. В конце работы скрипта, он выдает сообщение о завершение работы копирования.

Если я его ставлю в автозагрузку, то все работает как запланировано. Когда подключаю с помощью планировщика с действием при загрузке системы , он запускает его до входа пользователя в систему, при этом копирует данные, но никаких сообщений о завершении процесса не выводит.
Возможно ли сделать, чтобы до входа пользователя в систему скрипт отрабатывал, и когда пользователь заходит под своей учетной записью, он выводил сообщение о завершении копирования.

Заранее благодарен за ответы.

Скрипт:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
'/////////////////////////Скрипт отключения сетевого адаптера - начало //////////////////////////////
' strConn : имя сетевого подключения
' bState  : vbTrue - включить, vbFalse - отключить

Function SetConnState (strConn, bState)
  Dim objShell,objCP
  Dim colNetwork,clsConn,clsLANConn,clsVerb
  Dim strNetConn,strEnable,strDisable
  SetConnState=vbFalse

  strNetConn = "Сетевые подключения"
' strNetConn = "Network Connections"

  strEnable = "&Включить"
' strEnable = "En&able"

  strDisable = "&Отключить"
' strDisable = "Disa&ble"
' -----------------------------
  Set objShell = CreateObject("Shell.Application")
  Set objCP = objShell.Namespace(3)

  Set colNetwork = Nothing
  For Each clsConn in objCP.Items
    If clsConn.Name = strNetConn Then
      Set colNetwork = clsConn.getfolder
      Exit For
    End If
  Next

  If colNetwork Is Nothing Then
    WScript.Echo "Network folder not found"
    Exit Function
  End If

  Set clsLANConn = Nothing
  For Each clsConn in colNetwork.Items
    If LCase(clsConn.name) = LCase(strConn) Then
      Set clsLANConn = clsConn
      Exit For
    End If
  Next

  If clsLANConn is Nothing Then
    WScript.Echo "Network Connection not found"
    Exit Function
  End If

  For Each clsVerb in clsLANConn.verbs
    If (bState=vbFalse AND clsVerb.name=strDisable) OR (bState=vbTrue AND clsVerb.name=strEnable) Then 
      clsVerb.DoIt
      WScript.Sleep 1000
      SetConnState=vbTrue
    End If
  Next
End Function
SetConnState "FND", False
'/////////////////////////////////Скрипт отключения сетевого адаптера - конец ////////////////////////////
'////////////////Скрипт копирования баз - начало////////////////////////////////////////////
Dim today, Filename, fso
Filename="C:\\backup\" '///////////// Здесь указываем папку для проверки сегодняшнего бэкапа
Set objFSO = CreateObject("Scripting.FileSystemObject")

today=Date
 
Set objFolder=objFSO.GetFolder(Filename)
Set colFiles=objFolder.Files


For Each objFile in colFiles
if Datevalue(objFile.DateLastModified) = today  Then
x1=Datevalue(objFile.DateLastModified)
else
x2=Datevalue(objFile.DateLastModified)
End if
Next

if x1 = today then
MsgBox ("Копия делалась")
else
if x2 <> today then

Set FSO = CreateObject("Scripting.FileSystemObject")
Set WshShell = CreateObject("WScript.Shell")
daydate=left(date,2)&left(right(date,7),2)&right(date,2)

Arch = WshShell.Run ("""C:\Program Files\7-Zip\7z"" a -tzip ""C:\backup\backup1C_"+daydate+".zip"" -r ""C:\test\1\"" ""C:\test\2\""",1,True) 


WshShell.Popup "Резервное копирование успешно завершено!",, "Резервное копирование БД 1С", 0+32

else
WshShell.Popup "Ошибка при создании резервной копии БД 1С!",, "Резервное копирование БД 1С", 0+32
end if
end if
'/////////////////////Скрипт копирования баз - конец/////////////////////////////////////

'////////////////////////Скрипт включения сетевого адаптера/////////////////////////////
' strConn : имя сетевого подключения
' bState  : vbTrue - включить, vbFalse - отключить

Function SetConnState (strConn, bState)
  Dim objShell,objCP
  Dim colNetwork,clsConn,clsLANConn,clsVerb
  Dim strNetConn,strEnable,strDisable
  SetConnState=vbFalse

  strNetConn = "Сетевые подключения"
' strNetConn = "Network Connections"

  strEnable = "&Включить"
' strEnable = "En&able"

  strDisable = "&Отключить"
' strDisable = "Disa&ble"
' -----------------------------
  Set objShell = CreateObject("Shell.Application")
  Set objCP = objShell.Namespace(3)

  Set colNetwork = Nothing
  For Each clsConn in objCP.Items
    If clsConn.Name = strNetConn Then
      Set colNetwork = clsConn.getfolder
      Exit For
    End If
  Next

  If colNetwork Is Nothing Then
    WScript.Echo "Network folder not found"
    Exit Function
  End If

  Set clsLANConn = Nothing
  For Each clsConn in colNetwork.Items
    If LCase(clsConn.name) = LCase(strConn) Then
      Set clsLANConn = clsConn
      Exit For
    End If
  Next

  If clsLANConn is Nothing Then
    WScript.Echo "Network Connection not found"
    Exit Function
  End If

  For Each clsVerb in clsLANConn.verbs
    If (bState=vbFalse AND clsVerb.name=strDisable) OR (bState=vbTrue AND clsVerb.name=strEnable) Then 
      clsVerb.DoIt
      WScript.Sleep 1000
      SetConnState=vbTrue
    End If
  Next
End Function
SetConnState "FND", True '//////// Указывается имя сетевого подключения
'/////////////////////Скрипт включения сетевого адептера - конец //////////////////////////////////
...
Рейтинг: 0 / 0
20.06.2012, 14:00:56
    #37846374
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск vbs скрипта перед входом в систему
Скопировать нужному юзеру в папку автозагрузки самоудаляющийся скрипт с сообщением.
...
Рейтинг: 0 / 0
20.06.2012, 14:01:34
    #37846376
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск vbs скрипта перед входом в систему
А лучше в AllUsers.
...
Рейтинг: 0 / 0
20.06.2012, 14:15:50
    #37846411
Captd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск vbs скрипта перед входом в систему
А если раньше пользователь зайдет по собой, когда скрипт еще выполняется как тогда быть?
...
Рейтинг: 0 / 0
20.06.2012, 14:47:20
    #37846506
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск vbs скрипта перед входом в систему
Проверять текущего юзера.
Ваш КО.
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Запуск vbs скрипта перед входом в систему / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]