Dennis |
04-03-2003 09:53 209457 |
*VBS/WHS/JS* | Windows Script Host, работа с компами домена
Как определить в WSH к каким группам принадлежит пользователь домена? рабочая станция w2k.
И если нельзя, то какая есть альтернатива?
|
Fronik |
04-03-2003 15:11 209458 |
Dennis, загани этот текст в пустой текстовый файлик и задай расширение ".vbs"
Dim WshNetwork, Domain, Komputer 'Обьявляем переменные
Set WshNetwork = WScript.CreateObject("WScript.Network") 'создаес ссылку на обьект
User = WshNetwork.UserName
Domain = WshNetwork.UserDomain
Komputer = WshNetwork.ComputerName
MsgBox "Имя активного пользователя: " & User & VbCrLf & "Имя домена: " & Domain & VbCrLf & "Имя компьютера: " & Komputer
' надпись "VbCrLf" переносит сообщение на следующую строку
Если что - спрашивай :)
WSH :pray: WSH
|
Dennis |
04-03-2003 15:40 209459 |
И где ты здесь видишь принадлежность к группам?! :(
|
Как можно при помощи WSH узнать запущен ли какой-либо процесс и определить его состояние, например нужно узнать запущен ли taskmgr.exe и вначале скрипта убить его или приостановить, а в конце восстановить.
|
den-efim |
02-02-2006 13:45 399961 |
Люди help!
Как с помощью vbs проверить существование путей допустим c:\windows\... или c:\winnt\... и записать в текстовый файл существующий.
|
rzt
вот вхс скрипт который удалленно отрубает 1с-ку на всех компьютерах домена
Код:
Option Explicit
On Error Resume Next
Dim DomainName 'Имя домена
DomainName = "domain.ru"
Dim StrResult 'строка результата работы всей программы
StrResult = StrResult & CStr(Now) & " начало работы скрипта" & VbCrLf
Dim ADSI
Set ADSI = GetObject("WinNT://" & DomainName)
ADSI.Filter = Array("computer")
Dim Comp 'компьютер
Dim WMI 'объект WMI
Dim Proc 'процесс
Dim CurrName 'имя текущего компьютера
CurrName = GetNameComp()
'Цикл по компьютерам домена
For Each Comp In ADSI
If Comp.Name <> CurrName Then
Set WMI = GetObject("winmgmts:{ImpersonationLevel=Impersonate}!\\" & Trim(Comp.Name) & "\Root\CIMV2")
If Err.Number=0 Then
'WScript.Echo(Comp.Name)
'Цикл по процессам компьютера
For Each Proc In WMI.ExecQuery("SELECT * FROM Win32_Process WHERE Name = '1cv7s.exe'")
StrResult = StrResult & _
CStr(Now) & " Computer=" & Comp.Name & " PID=" & Proc.ProcessId & _
VbCrLf
'Завершение процесса
'Proc.Terminate
Next 'Цикл по процессам компьютера
Else 'Не удалось соединиться с компьютером
If Err.Number <> 462 Then 'The remote server machine does not exist or is unavailable
StrResult = StrResult & _
" " & CStr(Now) & " Computer=" & Comp.Name & " ERROR " & Err.Number & _
VbCrLf
End If
End If
Err.Clear
End If
Next 'Цикл по компьютерам домена
StrResult = StrResult & CStr(Now) & " конец работы скрипта" & VbCrLf
'Отображение результата
ShowInNotepad("Процессы 1cv7s.exe:" & VbCrLf & VbCrLf & StrResult)
'==========================================================================
'Процедура отображает переданную строку в блокноте
Sub ShowInNotepad(StrToFile)
Dim FSO 'Объект файловой системы Scripting.FileSystemObject
Dim TempPath 'Путь к временному файлу
Dim TxtFile 'Поток текстового файла
Set FSO = CreateObject("Scripting.FileSystemObject")
TempPath = GetTempPath() & "\" & FSO.GetTempName
Set TxtFile = FSO.CreateTextFile(TempPath)
TxtFile.WriteLine(StrToFile)
TxtFile.Close
CreateObject("WScript.Shell").Run "notepad.exe " & TempPath
WScript.Sleep 1000
FSO.DeleteFile TempPath
End Sub 'ShowInNotepad
'==========================================================================
'Функция возвращает путь к каталогу временных файлов текущего пользователя
Function GetTempPath()
GetTempPath = CreateObject("WScript.Shell").ExpandEnvironmentStrings("%TEMP%")
End Function 'GetTempPath
'==========================================================================
'Функция возвращает имя текущего компьютера
Function GetNameComp()
GetNameComp = CreateObject("WScript.Network").ComputerName
End Function 'GetNameComp
|
hasherfrog |
03-02-2006 10:17 400330 |
lehha
1. останавливает, если раскомментарить 'Proc.Terminate
2. доступ к компам будет только для администратра домена
3. домен определяется в строке DomainName = "domain.ru"
понимаю, что это очевидно, но хочу просто предупредить вопросы вида "у меня не работает"
|
Время: 16:34.
© OSzone.net 2001-