Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[35.173.48.18] |
|
Страницы: (22) « Первая ... 5 6 [7] 8 9 ... 21 22 ( Перейти к последнему сообщению ) |
Сообщ.
#91
,
|
|
|
Цитата Dmitrii @ Вы пробовали запускать сценарий на том компьютере, на котором работаете сами, или на удалённом? У меня, например, этот сценарий работает только при указании удалённой станции. да, именно так! Как запустить скрипт под учетной записью доменного администратора на машине с которой запускаю скрипт(речь идет только про локальную машину)? |
Сообщ.
#92
,
|
|
|
Господа, как копировать файлы по заданной маске?
|
Сообщ.
#93
,
|
|
|
Цитата blackangel @ Предлагаю использовать "эффект зеркала":да, именно так! Как запустить скрипт под учетной записью доменного администратора на машине с которой запускаю скрипт(речь идет только про локальную машину)? - сценарий на исходной станции запускает (с правам администратора домена) сценарий на контроллере домена; - сценарий, запущенный на контроллере домена, уже на исходной станции выполняет (с указанными ему привилегиями) нужную задачу. Пример сценария, запускаемого на исходной станции: Dim strComputer, strUser, strPassword Dim objLocator, objConnection, objProcess Const strDomain = "domain_name\" strComputer = "domain_controller_name" strUser = InputBox("Имя") If Len(strUser) > 0 Then strUser = strDomain & strUser strPassword = InputBox("Пароль") If Len(strPassword) > 0 Then Set objLocator = CreateObject("WbemScripting.SWbemLocator") Set objConnection = objLocator.ConnectServer(strComputer, "root\cimv2", strUser, strPassword) Set objProcess = objConnection.Get("Win32_Process") intResCode = objProcess.Create("wscript.exe c:\temp\script2.vbs """ & strUser & """ """ & strPassword & """", Null, Null, intProcID) Set objProcess = Nothing Set objConnection = Nothing Set objLocator = Nothing Else WScript.Echo "Пароль - обязательный параметр" End If Else WScript.Echo "Имя - обязательный параметр" End If Пример сценария, запускаемого на контроллере домена для управления исходной станцией: strComputer = "ws_name" If WScript.Arguments.Count = 2 Then strUser = WScript.Arguments.Item(0) strPassword = WScript.Arguments.Item(1) Set objLocator = CreateObject("WbemScripting.SWbemLocator") Set objService = objLocator.ConnectServer(strComputer, "root\cimv2", strUser, strPassword) Set objCollection = objService.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'calc.exe'") For Each objItem In objCollection objItem.Terminate Next Set objService = Nothing Set objCollection = Nothing Set objLocator = Nothing End If Ну, или (вместо WMI-локатора) пользоваться утилитой runas.exe |
Сообщ.
#94
,
|
|
|
Поскажите код скрипта чтобы создать новое соединение PPPoE или VPN
|
Сообщ.
#95
,
|
|
|
Приветствую уважаемый Пипл!!!
Отличная тема!!! Многие скрипты оказались очень полезными. У меня тут проблемка возникла... Начальство решило что имя домена, которое видно при входе в Виндовс его не устраивает и решило его поменять. Ренейм домена не проходит из-за наличия на PDC Ексченьжа. Переустанавливать всё - это последнее дело. Вот и возник интересный вопрос. Скриптом можно много чего реализовать... А нельзя ли им на логон скрине подменить название домена, что бы юзверь видел одно имя, а входил в нормальный. Вот сижу, копаю по этой теме, но пока Спасибо. |
Сообщ.
#96
,
|
|
|
Версия OC? Серверной.
|
Сообщ.
#97
,
|
|
|
PDC,BDC cервера на Enterprise 2003, рабочии станции на XP Prof.
|
Сообщ.
#98
,
|
|
|
Цитата LAW @ Вот сижу, копаю по этой теме, но пока Смотри в сторону темы Domain Alias |
Сообщ.
#99
,
|
|
|
Дмитрий Вам ОГРОМНОЕ спасибо за идею зеркала!!!
______________________________________________ Если использовать "эффект зеркала" предложенный выше Dmitrii - сценарий на исходной станции запускает (с правам администратора домена) сценарий на контроллере домена; - сценарий, запущенный на контроллере домена, уже на исходной станции выполняет (с указанными ему привилегиями) нужную задачу. и все же...если скрипт размещен на контроллере домена, в директории \\Контроллер_домена\SYSVOL\имя_домена\Policies\{A6C2CBB..-...}\Machine\Scripts\Startup , то к нему может иметь доступ любой пользователь => узнать пароль польователя, с правами которого он запускается:( Как все же "скрыть(зашифровать)" пароль в скрипте? Пусть этот метод и не соответствует жестким правилам безопасности, но хоть как-то это можно сделать...?Кто какие варианты может предложить? Подскажите пожалуйста... Ах, да... этот метод должен работать как на ХР, так и на 2000 осях(копирование файлов CScript.exe или WScript.exe допускается). Изначальная идея VBскрипта- обновление версии антивируса DrWeb на клиентских машинах: -Скрипт прописан в групповых политиках (Computer Configuration->Windows Settings->Scripts->Startup) Краткий алгоритм скрипта: 1- Проверка установленной версии антивируса 2- Удаление старой версии антивируса(Завершение сервисов->Удаление службы->Удаление записей реестра->Удаление файлов) 3- Установка новой версии из собранного MSI пакета 4- Отправка отчета в виде текстового файла о всех удачных и не удачных действиях. Конечно, проще всего, чтоб не заморачиваться по поводу безопасности можно было бы разместить этот скрипт на сервере и автоматичекси запускать его каждые 30 минут(шейдлером или своим скриптом) для кажой включенной машины в сети,а те машины, на которых он уже запускался- исключать из списка. Но тут опять для вас вопрос Высоко Уважаемые Господа системщики и программисты! Как получить список всех машин в сети и как проверить какие доступны на данный момент? Всем кто поможет, ОГРОМНОЕ СПАСИБО...да , наверное, не только от меня, но и от всех посетителей форума, т.к. считаю эту идею скрипта актуальной:) Не подумайте что прошу написать за меня., просто до этого с VB дела не имел:( Готовый скрипт обещаю выложить в форум и не без ваших усилий;) |
Сообщ.
#100
,
|
|
|
Цитата blackangel @ Один из вариантов (с использованием ADO) уже опубликован в этой теме, в сообщении #30.... Как получить список всех машин в сети... Другой пример (с использованием WinNT): Dim objAD, objComputer, strCompName Const strDomane = "здесь - DNS-имя домена" Set objAD = GetObject("WinNT://" & strDomane & ",domain") objAD.Filter = Array("computer") For Each objComputer In objAD strCompName = strCompName & objComputer.Name & vbNewLine Next Set objAD = Nothing WScript.Echo strCompName Цитата blackangel @ Более надёжного и универсального средства, чем простое "пингование" я пока не нашёл. Может кто-нибудь другой подскажет.... как проверить какие доступны на данный момент? А вариант реализации в сценарии может быть таким (вариант для консоли): Dim objShell, objExec, objOutStream Dim strResPing, intResFind arrTest = Array("station1", "station2", "station3") 'arrTest = Array("192.168.0.1", "192.168.0.2", "192.168.0.3") Set objShell = CreateObject("WScript.Shell") For i = 0 To UBound(arrTest) Set objExec = objShell.Exec("ping -n 1 -w 300 " & arrTest(i)) Set objOutStream = objExec.StdOut strResPing = vbNullString While Not objOutStream.AtEndOfStream strResPing = strResPing & Trim(objOutStream.ReadLine()) Wend If Instr(1, strResPing, "TTL", vbTextCompare) > 1 Then WScript.Echo arrTest(i) & " -> отвечает" Else WScript.Echo arrTest(i) & " -> не отвечает" End If Next Set objOutStream = Nothing Set objExec = Nothing Set objShell = Nothing |
Сообщ.
#101
,
|
|
|
Добрый день, подскажите, пожалуйста, код vbscript'a, который коннектился бы к АД под данными пользователя, от которого запускается скрипт и менял бы пароль определенного пользователя на 123456?
При условии, что пользователю, из под которого запускается скрипт, уже заранее делегированы права на изменения паролей в домене, а о пользователе, которому меняют пароль, известен логин. Заранее большое спасибо за любую информацию, а если будет код для такой задачи - будет просто замечательно! |
Сообщ.
#102
,
|
|
|
Цитата Blend @ Один из возможных вариантов:Добрый день, подскажите, пожалуйста, код vbscript'a, который коннектился бы к АД под данными пользователя, от которого запускается скрипт и менял бы пароль определенного пользователя на 123456? При условии, что пользователю, из под которого запускается скрипт, уже заранее делегированы права на изменения паролей в домене, а о пользователе, которому меняют пароль, известен логин. Dim objUser Dim strUser, strNewPswd Const strDomain = "здесь - DNS-имя домена" Const strController = "здесь - DNS-имя контроллера домена" strUser = "здесь - логин пользователя" strNewPswd = "123456" Set objUser = GetObject("WinNT://" & strDomain & "/" & strController & "/" & strUser & ",user") objUser.SetPassword strNewPswd On Error Resume Next If Err.Number <> 0 Then WScript.Echo "Ошибка " & Err.Number & vbCr & Err.Description Else WScript.Echo "Готово." End If objUser.SetInfo Set objUser = Nothing |
Сообщ.
#103
,
|
|
|
Подскажите такой VBS скрипт--запускается с флэшки-определяет тот комп или нет-копирует некоторые файлы на эту флэшку причем буква у флэшки может быть разная.
|
Сообщ.
#104
,
|
|
|
Цитата Maxman @ Автоматически запускается?Подскажите такой VBS скрипт--запускается с флэшки... При каких условиях? Какое ПО будет считать его вирусом? |
Сообщ.
#105
,
|
|
|
нет нужен просто скрипт.там(на флэшке) стоит autorun который запускает bat который запускает скрипты для записи.типа
Const OverwriteExisting = TRUE Set objFSO = CreateObject("Scripting.FileSystemObject") objFSO.CopyFile "z:\работа\нужн.файл.xlsx" , "f:\save\" , OverwriteExisting но надо что б комп проверяла и кидала не на f а какая буква у флэшки будет может в батнике сделать? кстати флэшка transcend с отпечатками пальцев, так вот она после проверки отпечатка автоматом запускается(в висте на хр самому надо запускать).и нод на вирус не ругается |