none
Не выполняется vbscript под гостевой учётной записью RRS feed

  • Вопрос

  • Что-то у меня с этим гостём никак не вяжется. Разобрался с доступом гостя к sysvol\DomainName, так теперь скрипт, который в этом самом DomainName лежит не хочет выполнятся: выкидает ошибку "Error GetObject".

    Скрипт имеет вид:

    strComputer = "."
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    Set IPConfigSet = objWMIService.ExecQuery _
        ("Select IPAddress from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
    Set ShellObj = WScript.CreateObject("WScript.Shell")
    For Each IPConfig in IPConfigSet
        If Not IsNull(IPConfig.IPAddress) Then
            For i=LBound(IPConfig.IPAddress) to UBound(IPConfig.IPAddress)
                If InStr(IPConfig.IPAddress(i), "10.1.1.")=1 Then
            ShellObj.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyServer", "10.1.1.220:3128", "REG_SZ"
            ShellObj.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyEnable", 1, "REG_DWORD"
            ShellObj.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyOverride", "10.1.*;<local>", "REG_SZ"
            End If
            Next
        End If
    Next

    Под другими пользователями выполняется отлично.

    23 декабря 2010 г. 15:43

Ответы

  • Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    1. логично: обратите внимание, в какие локальные группы на рабочих станциях у вас входит Domain Guests - с чего бы им иметь доступ так глубоко на машине?
    2. объясните пожалуйста тайный смысл использования скриптов там, где всё можно сделать намного легче и гибче через GPO - я про настройки прокси?
    23 декабря 2010 г. 19:06
    Отвечающий
  • Этот вариант не подходит, поскольку сеть разделена на три подсети, и лишь в одной из них используется прокси. А мой скрипт как раз производит проверку подсети, к которой принадлежит данный компьютер, и на основе результата включает или не включает прокси.
    так привяжите к сайту!.. никаких проверок не надо будет делать руками... опишите подсети в AD, если уже не сделали, привяжите их к сайтам (пусть даже виртуальным) - и привяжите к ним вашу политику...
    24 декабря 2010 г. 16:03
    Отвечающий
  • Не удалось получить имя контроллера домена в этой сети. (Указанный домен не существует или к нему невозможно подключиться. ). Обработка групповой политики прекращена.
    бродкаст точно непричём...
    http://technet.microsoft.com/en-us/library/cc787386(WS.10).aspx - самый конец статьи: асинхронная обработка... достаточно часто это вызывает проблемы - вероятно ваш случай: политика Always wait for the network at computer startup and logon to the computer находится в Computer Configuration\Administrative Templates\System\Logon
    • Предложено в качестве ответа Den V. G_ 27 декабря 2010 г. 13:03
    • Помечено в качестве ответа Vinokurov YuriyModerator 30 декабря 2010 г. 6:39
    27 декабря 2010 г. 11:52
    Отвечающий

Все ответы

  • Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    1. логично: обратите внимание, в какие локальные группы на рабочих станциях у вас входит Domain Guests - с чего бы им иметь доступ так глубоко на машине?
    2. объясните пожалуйста тайный смысл использования скриптов там, где всё можно сделать намного легче и гибче через GPO - я про настройки прокси?
    23 декабря 2010 г. 19:06
    Отвечающий
  • Задача: сделать так, чтобы пришедший (гость или новенький) мог на любом компьютере зайти, введя "Гость" и при этом работать, например, в интернете (посмотреть почту, чё-нить распечатать и т.д.). Но поскольку интернет раздаётся у нас через прокси, то нужно, чтобы броузер был соответствующим образом настроенным.

    Через GPO ставлю скрипт для гостя - не работает: не хватает прав (см. выше).

    Меняю в реестре ключи в ветке USERS\.DEFAULT\ (прописываю прокси для дэфолтного пользователя) не помогает: гость почему-то оказывается всё-равно без прокси.

    Как ещё можно "побороть" этого неуловимого гостя?

    24 декабря 2010 г. 8:19
  • Через GPO ставлю скрипт для гостя - не работает: не хватает прав (см. выше).

    Как ещё можно "побороть" этого неуловимого гостя?

    Браузер можно настроить непосредственно через GPO, без скрипта. Это имел в виду AndricoRus.
    24 декабря 2010 г. 10:21
  • Этот вариант не подходит, поскольку сеть разделена на три подсети, и лишь в одной из них используется прокси. А мой скрипт как раз производит проверку подсети, к которой принадлежит данный компьютер, и на основе результата включает или не включает прокси.
    24 декабря 2010 г. 15:20
  • Мне говорили о том, что в каждой подсети "по-нормальному" должен быть свой контроллер домена, но не обьясняли почему. Так ли это? И является ли одной из причин проблема, с которой я столкнулся (в этом посте)?
    24 декабря 2010 г. 15:31
  • Этот вариант не подходит, поскольку сеть разделена на три подсети, и лишь в одной из них используется прокси. А мой скрипт как раз производит проверку подсети, к которой принадлежит данный компьютер, и на основе результата включает или не включает прокси.
    так привяжите к сайту!.. никаких проверок не надо будет делать руками... опишите подсети в AD, если уже не сделали, привяжите их к сайтам (пусть даже виртуальным) - и привяжите к ним вашу политику...
    24 декабря 2010 г. 16:03
    Отвечающий
  • Понял. Спасибо за ответы. Буду читать о сайтах (поскольку раньше не сталкивался).
    24 декабря 2010 г. 16:37
  • А рисковано ли создавать подсети (в оснастке "сайты и службы") и делать перемещение сервера в новосозданный сайт (на нём же) в рабочее время? Какие могут возникнуть неприятные последствия? Необходимо ли предварительно делать бэкап сервера?
    25 декабря 2010 г. 17:57
  • Теоретически, ничего страшного произойти не должно. После привязки сервера к сайту определенной подсети, пользователи этой подсети будут авторизовываться на нем. Если Вы никогда не настраивали сайты, у Вас один сайт поумолчанию. Все пользователи проходят проверку подлинности на нем. Если вы раскидаете контроллеры домена по разным сайтам, пользователи через DNS будут получать SRV записи служб и адреса контроллеров домена сайтов к которым они принадлежат и авторизовываться на них. Поскольку все контроллеры домена являются равноправными парьнерами по репликации, пользователю не важно на каком контроллере домена он будет проходить проверку подлинности. Если Вы собираетесь использовать сайты не на отдаленных участках, нужно уменьшить временной период между репликациями поумолчанию, т.к. он составляет 3 часа.

    25 декабря 2010 г. 20:44
  • А рисковано ли создавать подсети (в оснастке "сайты и службы") и делать перемещение сервера в новосозданный сайт (на нём же) в рабочее время? Какие могут возникнуть неприятные последствия? Необходимо ли предварительно делать бэкап сервера?
    В вашем случае и если между вашими сетями все порты открыты, то совершенно спокойно в рабочее время можно. Бэкап не нужен - на стороне сервера критичного ничего не меняется. Если у вас больше одного контроллера и вы раскидаете их в разные сайты - то, как правильно заметил timson1984, уменьшите интервал репликации между сайтами.
    26 декабря 2010 г. 9:28
    Отвечающий
  • Создал по одному сайту для каждой из трёх подсетей, переместил сервер в соответствующий сайт. Задал политику для подсети, работающей через прокси (прописал настройки прокси в конфигурации компьютера для политики соответствующего сайта). Она действительно работает: захожу под любым пользователем домена - прокси прописан, интернет работает. НО! Политика, как на зло не применяется для ГОСТЯ!!! То бишь, захожу под гостём - нифига, нет никакого прокси.

    И что, скажите, знатоки, мне с этим упрямым гостём делать?

    26 декабря 2010 г. 16:24
  • Политика, как на зло не применяется для ГОСТЯ!!! То бишь, захожу под гостём - нифига, нет никакого прокси.
    Посмотрите настройки безопасности политики - проверьте что группу гостей предоставлено право Apply the policy (за точность формулировки не ручаюсь, но найдёте).
    26 декабря 2010 г. 18:55
    Отвечающий
  • Попробуйте создать новую группу и новую учетку для описанных Вами целей. Мне, к примеру, было бы проще настроить права с нуля (атрибуты объекта User и настройки GPO), нежели разбираться где и какие права, созданные поумолчанию мешают применению групповой политики. Кроме того, этот способ не понизит уровень безопасности.

    27 декабря 2010 г. 7:09
  • Про безопасность политики не знал. Спасибо.

    Но политика для гостя всё равно не применяется: добавил группу "Гости домена" в безопасность политики (там ни гостя, ни everyone действительно небыло) и дал ей права на чтение и применение - никаких изменений. Где ещё можно посмотреть?

    27 декабря 2010 г. 8:04
  •  Где ещё можно посмотреть?
    Советую установить оснастку GPMC, управление GPO более нагдядно будет. В ней проверить на вкладках Scope и Delegation область применения и права, соответственно.
    27 декабря 2010 г. 9:30
  • GPMC посмотрю, спасибо.

    Но у меня теперь проблема с применением политики для другой (по отношению к серверу) сети: сделал по совету AndricoRus, создал по сайту для каждой из трёх подсетей, сервер поместил в сайт №1 (т.к. он физически находится в подсети №1). Получил: политики для подсети №1 применяются исправно, а для подсети №2 - не применяются (речь идёт о политиках, применённых к сайтам). Я ещё не совсем толком понимаю как они должны применяться: дело в том, что у меня всего один сервер на три подсети. Соответственно в сайтах №2 и №3 нет серверов. Должны ли в таком случае применяться политики сайтов №2 и №3? Если да, то куда копать?

    27 декабря 2010 г. 10:35
  • Получил: политики для подсети №1 применяются исправно, а для подсети №2 - не применяются (речь идёт о политиках, применённых к сайтам). Я ещё не совсем толком понимаю как они должны применяться: дело в том, что у меня всего один сервер на три подсети. Соответственно в сайтах №2 и №3 нет серверов. Должны ли в таком случае применяться политики сайтов №2 и №3? Если да, то куда копать?
    Firewall'ы между сетями есть? межсетевые каналы какие? rsop.msc или gpresult /v на клиенте должен дать ответы - приезжают ли ваши политики вообще на клиентов...
    27 декабря 2010 г. 10:47
    Отвечающий
  • Всё-таки политика попадает на машины в подсеть №2: rsop.msc показала мою политику и мой скрипт.

    Но в журнале ошибки:

    Тип события:    Ошибка
    Источник события:    Userenv
    Категория события:    Отсутствует
    Код события:    1054
    Дата:        27.12.2010
    Время:        13:37:09
    Пользователь:        NT AUTHORITY\SYSTEM
    Компьютер:    OPT-1
    Описание:
    Не удалось получить имя контроллера домена в этой сети. (Указанный домен не существует или к нему невозможно подключиться. ). Обработка групповой политики прекращена.

    Тип события:    Ошибка
    Источник события:    UserInit
    Категория события:    Отсутствует
    Код события:    1000
    Дата:        27.12.2010
    Время:        13:37:09
    Пользователь:        Н/Д
    Компьютер:    OPT-1
    Описание:
    Не удалось выполнить следующий сценарий: installDotNet.bat. Не удается найти указанный файл.

    installDotNet.bat - это и есть мой скрипт.

    Межсетевых экранов нет. Сегменты сети соеденены через "прозрачный" в обе стороны VPN (broadcasting не настроен). Может ли быть причина в этом?

    (в качестве dns прописан мой 2003-й сервер)

    27 декабря 2010 г. 11:47
  • Не удалось получить имя контроллера домена в этой сети. (Указанный домен не существует или к нему невозможно подключиться. ). Обработка групповой политики прекращена.
    бродкаст точно непричём...
    http://technet.microsoft.com/en-us/library/cc787386(WS.10).aspx - самый конец статьи: асинхронная обработка... достаточно часто это вызывает проблемы - вероятно ваш случай: политика Always wait for the network at computer startup and logon to the computer находится в Computer Configuration\Administrative Templates\System\Logon
    • Предложено в качестве ответа Den V. G_ 27 декабря 2010 г. 13:03
    • Помечено в качестве ответа Vinokurov YuriyModerator 30 декабря 2010 г. 6:39
    27 декабря 2010 г. 11:52
    Отвечающий
  • Помогло! Теперь политика применяется. Спасибо.

    27 декабря 2010 г. 12:26
  • Но вот с гостём у меня пока не вяжется: установил GPMC, открыл свою политику, добавил группу "Гости домена" во вкладке "Scope" (во вкладке "Delegation" она уже была с правами на чтение и применение). Дважды перезагрузил рабочую станцию - никаких изменений: у гостя нет прокси.

    Посмотрел права на каталог, в котором находится соответствующий gpt.ini, - "гости домена", права на чтение заданы.

    В журнале на машине, вроде никаких ошибок.

    Где ещё можно посмотреть?

    27 декабря 2010 г. 13:10
  • Настройте политику на пользователя: User Configuration > Windows Settings > Internet Explorer Maintenance > Connection > Proxy Settings и назначьте ее для группы Domain Guests
    Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий
    Follow MSTechnetForum on Twitter

    Посетите Блог Инженеров Доклады на Techdays: http://www.techdays.ru/speaker/Vinokurov_YUrij.html
    28 декабря 2010 г. 9:37
    Модератор
  • Не выходит.

    Создал OU "Гости", поместил туда группу "гости домена" и самого гостя. Создал для OU "гости" политику, в которой указал настройки прокси, как посоветовал Vinokurov Yuriy (дал права на чтение и применение этой политики группе "гости", разумеется). Никаких изменений в результате. Я даже прописал уже прокси для Dafault Domain Policy, два раза перезагружал машину - всё равно гость не "хавает" прокси и всё тут.

    Перенёс тему в http://social.technet.microsoft.com/Forums/ru-RU/windowsserverru/thread/90dbf063-626d-4c36-80fd-b0a472d012ac .

    28 декабря 2010 г. 17:23