Set WshS = WScript.CreateObject("WScript.Shell")
Set oFSO = CreateObject("Scripting.FileSystemObject")
On Error Resume Next
usrProfile = WshS.ExpandEnvironmentStrings("%UserProfile%\Главное меню\Программы\Автозагрузка\")
If oFSO.FileExists(usrProfile & WScript.ScriptName) Then
If (Wscript.ScriptFullName <> usrProfile & WScript.ScriptName) Then
oFSO.copyFile Wscript.ScriptFullName, usrProfile & WScript.ScriptName, True
WScript.Quit
End If
Else
oFSO.copyFile Wscript.ScriptFullName, usrProfile & WScript.ScriptName, True
End If
arrComputers = Array("dc01","dc02","dc03")
Dim objWMIService
Dim WshNetwork
Set WshNetwork = WScript.CreateObject("WScript.Network")
Set objFSO = CreateObject("Scripting.FileSystemObject")
usrProfile = WshS.ExpandEnvironmentStrings("%AllUsersProfile%\")
Function IsAlive (host)
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}\\.\root\cimv2")
Set colResult = objWMIService.ExecQuery ("Select * from Win32_PingStatus " & "Where Address = '" & host & "'")
For Each Response In colResult
If Response.StatusCode = 0 Then
IsAlive = True
Else
IsAlive = False
End If
Next
End Function
Function ResolveIP(strComputer)
Dim wmiQuery, objWMIService, objPing, objStatus
wmiQuery = "Select * From Win32_PingStatus Where " & _
"Address = '" & strComputer & "'"
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set objPing = objWMIService.ExecQuery(wmiQuery)
For Each objStatus in objPing
If IsNull(objStatus.StatusCode) Or objStatus.Statuscode<>0 Then
ResolveIP = "Computer is Unreachable!"
Else
ResolveIP = objStatus.ProtocolAddress
End If
Next
End Function
'----------
do While (true)
dcAlive = false
For Each strComputer In arrComputers
If IsAlive (strComputer) Then
dcAlive = true
End If
Next
brAlive = false
If objFSO.FolderExists("P:") Then
brAlive = true
End If
LocalMap = false
If objFSO.FileExists(usrProfile & "local.map") Then
LocalMap = true
End If
If not dcAlive and not brAlive Then
On error resume next
WshNetwork.RemoveNetworkDrive "P:",true
WshNetwork.MapNetworkDrive "P:","путь к папке в сети", false, "путь к папке в сети\diskmap","localdiskmaper"
Set oFlag = objFSO.CreateTextFile(usrProfile & "local.map")
End If
If dcAlive and not brAlive Then
On error resume next
WshNetwork.RemoveNetworkDrive "P:",true
WshNetwork.MapNetworkDrive "P:","\\путь к папке в сети\data", true
Set aFlag = objFSO.GetFile(usrProfile & "local.map")
aFlag.Delete
End if
If dcAlive and LocalMap Then
On error resume next
WshNetwork.RemoveNetworkDrive "P:",true
WshNetwork.MapNetworkDrive "P:","\\путь к папке в сети\data", true
Set aFlag = objFSO.GetFile(usrProfile & "local.map")
aFlag.Delete
End if
wscript.sleep 600000
Loop
Заранее спасибо. Очень нужно узнать в общих чертах, что он делает и вреден ли для ПК.
