none
Не обрабатывается серверный скрипт входа. RRS feed

  • Вопрос

  • Что есть:

    1. Сеть AD, на сервере (Win2003) скрипт, подключающий указанные папки как сетевые диски у пользователей.

    2. Комп с Win7 Ultimate.

    3. В сети более 30 компов, операционка как 7, так и xp.

     

    Проблема:

    Пользователь на компе входит в систему и сетевые диски не подключаются, это при том, что у других пользователей все работает вне зависимости от ОС.

    Тот-же пользователь идет на любой другой комп, там диски у него при логоне - подключаются.

    Другой пользователь логинится на этой машине - дисков нет.

     

    Что надо подправить что б все работало так как надо?


    • Изменено Son0908 7 декабря 2011 г. 15:46
    7 декабря 2011 г. 13:21

Ответы

  • Ну что ж, теперь гораздо понятнее :) Проблема скорее всего связана с сетевыми настройками. Хотя и в этом случае возможных причин масса.
    Настройки сети по DHCP раздаются? Если да, то

    1) убедиться, что на этой машине адрес (и, главное, адрес ДНС) не задан статически
    2) убедиться, что включено использование NetBIOS через TCP/IP
    3) убедиться, что отключен IPv6
    4) попробовать отключить firewall, особенно если это McAfee или Norton
    5) обновить драйвер сетевого адаптера
    6) удалить и заново включить комп в домен
    7) отписаться по результатам :)

    Еще вопросик - а если делать не перезагрузку, а просто выход из системы, диски все равно не подключаются?

    • Предложено в качестве ответа Vlad_53 15 декабря 2011 г. 6:00
    • Помечено в качестве ответа Vinokurov YuriyModerator 11 января 2012 г. 8:02
    15 декабря 2011 г. 3:33

Все ответы

  • Может, буквы дисков уже заняты?

    7 декабря 2011 г. 19:09
  • Там собственно вот такой vbs скрипт на сервере выполняется:

     

    Option Explicit  
    on Error Resume Next 
      
    Dim oNet         ' Подключение сетевых дисков и принтеров
    Dim oWinShell    ' Функции оболочки Windows
    Dim oFSO         ' Файловая система
    Dim oADInfo      ' ADSystemInfo
    Dim oADUser      ' Объект пользователя в AD
    Dim oADGroup     ' Объект группы (AD)
    Dim sListGroups  ' Список групп
     
    Set oFSO      = WScript.CreateObject("Scripting.FileSystemObject") 
    Set oNet      = WScript.CreateObject("WScript.Network")
    Set oWinShell = WScript.CreateObject("Shell.Application") 
    Set oADInfo   = WScript.CreateObject("ADSystemInfo")
    Set oADUser   = GetObject("LDAP://" & oADInfo.UserName)
     
    For Each oADGroup In oADUser.Groups    
      sListGroups = sListGroups & "[" & oADGroup.Name & "]"    
    Next    
     
    '*********************   Сетевые диски  ***********************
    
    ' Разделение по группам Active Directory
    
    if GroupExist("it-users") then    
      MapDrive "Y:", "\\server.domain\INST$", "Инсталяционное ПО"
      MapDrive "T:", "\\server.domain\share$\IT", "IT Отдел"
    end if
    
    if GroupExist("Group1") then    
      MapDrive "W:", "\\server.domain\share$\Group1", "Group1"
    end if
    
    if GroupExist("Group2") then    
      MapDrive "W:", "\\server.domain\share$\Group2", "Group2"
    end if
    
    if GroupExist("Group3") then    
      MapDrive "T:", "\\server.domain\share$\Group3", "Group3"
    end if
    
    if GroupExist("Group3_lite") then 
      MapDrive "R:", "\\server.domain\Share\Group3", "Group3_lite"
    end if
    
    if GroupExist("BUH") then    
      MapDrive "V:", "\\server\share$\BUH", "Бухгалтерия"
    end if
    
    
    '****** Диски подключаемые всем без разделения на группы ******
    
    '  MapDrive "Z:", "\\server.domain\users$\" & oNet.UserName, "Личный диск"
    MapDrive "O:", "\\server.domain\share$\Share", "Обмен по зданию"  
    
    '**************************************************************
    
    
    '**********************  Процедуры  **************************
      
    ' ПОДКЛЮЧЕНИЕ СЕТЕВЫХ ДИСКОВ
    
    '= Параметры: sDriveLetter = буква диска
    '=            sDrivePath   = сетевой путь
    '=            sDriveName   = имя диска
    Sub MapDrive(sDriveLetter, sDrivePath, sDriveName)
      ' Удалить если такой диск уже есть
      If oFSO.DriveExists(sDriveLetter) Then  
        oNet.RemoveNetworkDrive sDriveLetter, True, True 
      End If 
      ' Подключение диска
      oNet.MapNetworkDrive sDriveLetter, sDrivePath
      ' Задание имени диска
      oWinShell.NameSpace(sDriveLetter).Self.Name = sDriveName
    End Sub 
    
    '= Проверка членства в группе
    '= Параметры: sGroupName = название группы
    Function GroupExist(sGroupName)    
      GroupExist = False    
      If InStr(sListGroups,"[CN=" & sGroupName & "]") Then    
        GroupExist = True    
      End If    
    End Function
    


    А конкретно на машине диски - свободны, а поскольку пользователь является членом группы "Company2", то как минимум должен диск W: появиться...

    Хотя диск Z: - появляется, при этом он не подключен (горит значек с крестиком), но при клике по нему диск - открывается (значек меняется на стандартный)...

    • Изменено Son0908 8 декабря 2011 г. 8:03 "Облегчение" кода
    8 декабря 2011 г. 7:39
  • 2 вопроса: что в журнале событий?
    Logon-script на этой машине вообще отрабатывает? Можно вставить какой-нибудь вывод для проверки.

    На первый взгляд возможных причин 2: либо отключены/запрещены VB-сценарии, либо не применена/вообще не применяется групповая политика.
    Кстати, скрипт можно запустить из-под этого пользователя после входа в систему и посмотреть на результат.

    9 декабря 2011 г. 7:31
  • А для "особо одаренных":

    1. Где включаются сценарии?

    2. Запустить скрипт после входа, это надо его скопировать на локальную машину и с нее запускать? Просто сам сервак через просмотр в сетевом окружении не отображается...

    9 декабря 2011 г. 10:55
  • 1. По умолчанию сценарии включены. Если vbs-файлы запускаются, то дополнительно их включать не нужно.

    2. Можно скопировать и запустить, если нет возможности запустить с сервера. Лучше конечно явно указать в командной строке путь к Logon-scriptу вместе с именем сервера. Все это для выявления этапа, на котором возникает проблема.

    3. Что все-таки пишется в журнал событий при входе? Есть ли ошибки?


    12 декабря 2011 г. 11:05
  • Скопировал файл сценария и локально его запустил - необходимые диски появились.

    А в журнале событий вот такая ошибка:

     

    Имя журнала:   System
    
    Источник:      NETLOGON
    
    Дата:          13.12.2011 13:59:01
    
    Код события:   5783
    
    Категория задачи:Отсутствует
    
    Уровень:       Ошибка
    
    Ключевые слова:Классический
    
    Пользователь:  Н/Д
    
    Компьютер:     LOCAL_COMP
    
    Описание:
    
    Установка сеанса к контроллеру домена Windows NT или Windows 2000 \\DC1.DOMAIN для домена DOMAIN_lite не отвечает. Текущий вызов RPC от Netlogon на \\LOCAL_COMP к \\DC1.DOMAIN отменен.
    
    Xml события:
    
    <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
    
      <System>
    
        <Provider Name="NETLOGON" />
    
        <EventID Qualifiers="0">5783</EventID>
    
        <Level>2</Level>
    
        <Task>0</Task>
    
        <Keywords>0x80000000000000</Keywords>
    
        <TimeCreated SystemTime="2011-12-13T10:59:01.000000000Z" />
    
        <EventRecordID>3845</EventRecordID>
    
        <Channel>System</Channel>
    
        <Computer>local_comp.domain</Computer>
    
        <Security />
    
      </System>
    
      <EventData>
    
        <Data>\\DC1.DOMAIN</Data>
    
        <Data>DOMAIN_lite</Data>
    
        <Data>LOCAL_COMP</Data>
    
      </EventData>
    
    </Event>

     

    13 декабря 2011 г. 10:43
  • Ну что ж, теперь гораздо понятнее :) Проблема скорее всего связана с сетевыми настройками. Хотя и в этом случае возможных причин масса.
    Настройки сети по DHCP раздаются? Если да, то

    1) убедиться, что на этой машине адрес (и, главное, адрес ДНС) не задан статически
    2) убедиться, что включено использование NetBIOS через TCP/IP
    3) убедиться, что отключен IPv6
    4) попробовать отключить firewall, особенно если это McAfee или Norton
    5) обновить драйвер сетевого адаптера
    6) удалить и заново включить комп в домен
    7) отписаться по результатам :)

    Еще вопросик - а если делать не перезагрузку, а просто выход из системы, диски все равно не подключаются?

    • Предложено в качестве ответа Vlad_53 15 декабря 2011 г. 6:00
    • Помечено в качестве ответа Vinokurov YuriyModerator 11 января 2012 г. 8:02
    15 декабря 2011 г. 3:33
  • 6) удалить и заново включить комп в домен
    7) отписаться по результатам :)

    По моему этого достаточно.

    Son0908

    Я бы заменил в вашем скрипте имена серверов на их IP адреса.

    15 декабря 2011 г. 6:00