VBS/WSH/JS - *VBS/WHS/JS* | Windows Script Host, работа с компами домена

Ответить
Аватара пользователя
Dennis

VBS/WSH/JS - *VBS/WHS/JS* | Windows Script Host, работа с компами домена

Сообщение Dennis »

Как определить в WSH к каким группам принадлежит пользователь домена? рабочая  станция w2k.

И если нельзя, то какая есть альтернатива?
Аватара пользователя
Dennis

Re: VBS/WSH/JS - *VBS/WHS/JS* | Windows Script Host, работа с компами домена

Сообщение Dennis »

Dennis, загани этот текст в пустой текстовый файлик и задай расширение ".vbs"



Dim WshNetwork, Domain, Komputer 'Обьявляем переменные

Set WshNetwork = WScript.CreateObject("WScript.Network&quotИзображение 'создаес ссылку на обьект

User = WshNetwork.UserName

Domain = WshNetwork.UserDomain

Komputer = WshNetwork.ComputerName

MsgBox "Имя активного пользователя: " & User & VbCrLf & "Имя домена: " & Domain & VbCrLf & "Имя компьютера: " & Komputer

' надпись "VbCrLf" переносит сообщение на следующую строку



Если что - спрашивай Изображение

WSH Изображение WSH
Аватара пользователя
Dennis

Re: VBS/WSH/JS - *VBS/WHS/JS* | Windows Script Host, работа с компами домена

Сообщение Dennis »

И где ты здесь видишь принадлежность к группам?! Изображение
Аватара пользователя
Dennis

Re: VBS/WSH/JS - *VBS/WHS/JS* | Windows Script Host, работа с компами домена

Сообщение Dennis »

Как можно при помощи WSH узнать запущен ли какой-либо процесс и определить его состояние, например нужно узнать запущен ли taskmgr.exe и вначале скрипта убить его или приостановить, а в конце восстановить.
Аватара пользователя
rzt

Re: VBS/WSH/JS - *VBS/WHS/JS* | Windows Script Host, работа с компами домена

Сообщение rzt »

Люди help!

Как с помощью vbs проверить существование путей допустим c:\windows\... или c:\winnt\... и записать в текстовый файл существующий.
Аватара пользователя
hasherfrog

Re: VBS/WSH/JS - *VBS/WHS/JS* | Windows Script Host, работа с компами домена

Сообщение hasherfrog »

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

Re: VBS/WSH/JS - *VBS/WHS/JS* | Windows Script Host, работа с компами домена

Сообщение hasherfrog »

lehha

1. останавливает, если раскомментарить 'Proc.Terminate

2. доступ к компам будет только для администратра домена

3. домен определяется в строке DomainName = "domain.ru"



понимаю, что это очевидно, но хочу просто предупредить вопросы вида "у меня не работает"
Ответить

Вернуться в «Программирование и базы данных»