На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела Windows
1. Указывайте версию Вашей ОС.
2. Запрещается размещать запросы и ссылки на кряки, серийники и т.п., а также вопросы нарушения лицензии ПО и его взлома.
3. Не разрешается давать советы из разряда "Поставь Linux".
4. Переустановка ОС - крайнее и безотказное лекарство, которое знают все. В таких советах никто не нуждается.
5. При публикации скриптов пользоваться тегами code. Тип подсветки кода выбирать строго в соответствии с языком публикуемого кода.
6. Прежде чем задать вопрос, обязательно загляните в FAQ и следуйте написанным рекомендациям для устранения проблемы. И если не помогло, а поиск по разделу не дал результатов - только тогда задавайте вопрос на форуме.
7. Вопросы, связанные с проблемами ПО, задавайте в разделе Программное обеспечение
Модераторы: Akina
Страницы: (22) « Первая ... 5 6 [7] 8 9 ...  21 22  ( Перейти к последнему сообщению )  
> Полезные скрипты , WSH (js, vbs) + WMI
    Цитата Dmitrii @
    Вы пробовали запускать сценарий на том компьютере, на котором работаете сами, или на удалённом? У меня, например, этот сценарий работает только при указании удалённой станции.

    да, именно так! Как запустить скрипт под учетной записью доменного администратора на машине с которой запускаю скрипт(речь идет только про локальную машину)?
      Господа, как копировать файлы по заданной маске?
        Цитата blackangel @
        да, именно так! Как запустить скрипт под учетной записью доменного администратора на машине с которой запускаю скрипт(речь идет только про локальную машину)?
        Предлагаю использовать "эффект зеркала":
        - сценарий на исходной станции запускает (с правам администратора домена) сценарий на контроллере домена;
        - сценарий, запущенный на контроллере домена, уже на исходной станции выполняет (с указанными ему привилегиями) нужную задачу.
        Пример сценария, запускаемого на исходной станции:
        ExpandedWrap disabled
          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

        Пример сценария, запускаемого на контроллере домена для управления исходной станцией:
        ExpandedWrap disabled
          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
        Сообщение отредактировано: Dmitrii -
          Поскажите код скрипта чтобы создать новое соединение PPPoE или VPN 8-)
            Приветствую уважаемый Пипл!!!
            Отличная тема!!! Многие скрипты оказались очень полезными.
            У меня тут проблемка возникла... Начальство решило что имя домена, которое видно при входе в Виндовс его не устраивает и решило его поменять. Ренейм домена не проходит из-за наличия на PDC Ексченьжа. Переустанавливать всё - это последнее дело.
            Вот и возник интересный вопрос. Скриптом можно много чего реализовать... А нельзя ли им на логон скрине подменить название домена, что бы юзверь видел одно имя, а входил в нормальный.
            Вот сижу, копаю по этой теме, но пока :wall:
            Спасибо.
              Версия OC? Серверной.
                PDC,BDC cервера на Enterprise 2003, рабочии станции на XP Prof.
                Сообщение отредактировано: LAW -
                  Цитата LAW @
                  Вот сижу, копаю по этой теме, но пока :wall:

                  Смотри в сторону темы Domain Alias
                    Дмитрий Вам ОГРОМНОЕ спасибо за идею зеркала!!!
                    ______________________________________________
                    Если использовать "эффект зеркала" предложенный выше 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 дела не имел:( Готовый скрипт обещаю выложить в форум и не без ваших усилий;)
                    Сообщение отредактировано: blackangel -
                      Цитата blackangel @
                      ... Как получить список всех машин в сети...
                      Один из вариантов (с использованием ADO) уже опубликован в этой теме, в сообщении #30.
                      Другой пример (с использованием WinNT):
                      ExpandedWrap disabled
                        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 @
                      ... как проверить какие доступны на данный момент?
                      Более надёжного и универсального средства, чем простое "пингование" я пока не нашёл. Может кто-нибудь другой подскажет.
                      А вариант реализации в сценарии может быть таким (вариант для консоли):
                      ExpandedWrap disabled
                        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
                      Сообщение отредактировано: Dmitrii -
                        Добрый день, подскажите, пожалуйста, код vbscript'a, который коннектился бы к АД под данными пользователя, от которого запускается скрипт и менял бы пароль определенного пользователя на 123456?
                        При условии, что пользователю, из под которого запускается скрипт, уже заранее делегированы права на изменения паролей в домене, а о пользователе, которому меняют пароль, известен логин.
                        Заранее большое спасибо за любую информацию, а если будет код для такой задачи - будет просто замечательно!
                        Сообщение отредактировано: Blend -
                          Цитата Blend @
                          Добрый день, подскажите, пожалуйста, код vbscript'a, который коннектился бы к АД под данными пользователя, от которого запускается скрипт и менял бы пароль определенного пользователя на 123456?
                          При условии, что пользователю, из под которого запускается скрипт, уже заранее делегированы права на изменения паролей в домене, а о пользователе, которому меняют пароль, известен логин.
                          Один из возможных вариантов:
                          ExpandedWrap disabled
                            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
                            Подскажите такой VBS скрипт--запускается с флэшки-определяет тот комп или нет-копирует некоторые файлы на эту флэшку причем буква у флэшки может быть разная.
                            Сообщение отредактировано: Maxman -
                              Цитата Maxman @
                              Подскажите такой VBS скрипт--запускается с флэшки...
                              Автоматически запускается?

                              Цитата Лёха @
                              Скрипт с флешки не запустится. Это будет считатся вирусом.
                              При каких условиях? Какое ПО будет считать его вирусом?
                                нет нужен просто скрипт.там(на флэшке) стоит autorun который запускает bat который запускает скрипты для записи.типа
                                Const OverwriteExisting = TRUE

                                Set objFSO = CreateObject("Scripting.FileSystemObject")
                                objFSO.CopyFile "z:\работа\нужн.файл.xlsx" , "f:\save\" , OverwriteExisting

                                но надо что б комп проверяла и кидала не на f а какая буква у флэшки будет
                                может в батнике сделать?

                                кстати флэшка transcend с отпечатками пальцев, так вот она после проверки отпечатка автоматом запускается(в висте на хр самому надо запускать).и нод на вирус не ругается
                                Сообщение отредактировано: Maxman -
                                2 пользователей читают эту тему (2 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (22) « Первая ... 5 6 [7] 8 9 ...  21 22


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0513 ]   [ 14 queries used ]   [ Generated: 20.05.24, 05:06 GMT ]