Имя: Пароль:
IT
Админ
Групповая политика - не могу разобраться
0 burtom
 
27.04.07
11:41
Привет всем

Задача:
Нужно запустить на каждом компе при включении файл collect.exe с ключами  "-s:192.168.0.100" для сбора инфы о компе для Friendly Pingera

Написал bat файл

start локальный_путь_до_файла/collect.exe "-s:192.168.0.100"

Проверил. Работает.

Захожу в управление пользователями, свойства нужного мне контейнера, GPO, добавить, добавляю GPO на комп, Автозагрузка, путь до bat файла.

При включении клиента нифига не происходит.

Что забыл? Что не так?
1 burtom
 
27.04.07
11:46
Иль AD не сразу обновляется? Прочитал в книженце что вроде как через каждые 90 минут. Может в ручную обновить AD?
2 burtom
 
27.04.07
11:53
Кстати, а куда нужно bat файл ложить? В папку, которую по умолчанию предлагает винда ил можно другое место указать?
3 burtom
 
27.04.07
12:08
Все. Понял. Нужен сценарий написанный на VB. Теперь вопрос, как его написать?
4 smaharbA
 
27.04.07
12:12
start \\server\netlogon\collect.exe -s:192.168.0.100
5 smaharbA
 
27.04.07
12:13
(3) ненужно никакого VB
6 smaharbA
 
27.04.07
12:14
(2) в \\server\netlogon
а у пользователей в АД просто прописать его имя типа StartUp.bat - без путей
7 burtom
 
27.04.07
12:16
(4)
Это где написать? В названии сценария или в bat файле?
8 burtom
 
27.04.07
12:17
(6)
То есть в профиле каждого пользователя?
9 smaharbA
 
27.04.07
12:28
(7) в бат файле
(8) да
можно сразу всем выставить
10 burtom
 
27.04.07
12:38
Чего то нифига не работает.

То есть я так понимаю путь до bat файла нужно прописать в строке сценарий входа? Или не там?

А как назначить сразу всем?
11 smaharbA
 
27.04.07
12:44
Примерно так (с рекурсией всем)

s=""

function alluser(adspath)
   on error resume next
   Set obj = GetObject(adspath)
   For Each o In obj
       if left(o.name,2)="OU" then
           alluser(o.adspath)
       elseif left(o.name,2)="CN" then
           o.Put "scriptPath", "StartUp.bat"
           o.SetInfo
           if err then
               err.clear
           else
               s=s & o.adspath & "==" & o.Get("scriptPath") & vbcr
           end if
       end if
   Next
end function
alluser("LDAP://dc=n-d,dc=ru")
WScript.Echo s
12 smaharbA
 
27.04.07
12:45
(10) яж сказал в профиле и без путей, голое имя батника, и поместить его в
\\КонтроллерДомена\netlogon
13 panas_ukr_net
 
27.04.07
12:47
Твой батник ищется на локальных компах пользователей
проверь этот вариант
14 burtom
 
27.04.07
12:49
(11)

Это все хорошо. Но почему не запускается bat файл никак не пойму.

А почему нельзя все это сделать через GPO?
15 burtom
 
27.04.07
12:55
(12)

Понял. Поместил в \\server\netlogon

В профиле пользователя написал invent.bat

Батник точно работает. Проверил.

Перелогинился на компе. Нифига. Как проверить все ли правильно? Должен ли этот файл скопироваться на локальный комп?
16 burtom
 
27.04.07
12:57
Прошу прощения. Всего то нужно перезагрузиться ))
17 burtom
 
27.04.07
13:02
И последний вопрос.

Как запустить bat файл в фоне?
18 burtom
 
27.04.07
13:03
Точнее вот еще вопрос.

Как бы это выглядело для GPO?
19 ATI
 
27.04.07
13:14
фтопку фпингер

вот скрипт, который с сервера без установки всякой гадости на клиентов соберет всю инфу

On Error Resume Next

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set Files_W = objFSO.OpenTextFile("d:\temp\DataPC.txt", 2, True)

CompName = "MY_COOL_COMPUTER"

Set objWMI = GetObject("winmgmts:{ImpersonationLevel=Impersonate}!\\" & Trim(CompName) & "\Root\CIMV2")
Files_W.WriteLine "******************************************************************************"
Files_W.WriteLine "****** >>>>  Comp. name:" & Trim(CompName)
If Err.Number=0 Then
      'Общая инфа
      Set colItems = objWMI.ExecQuery("Select * from Win32_ComputerSystem")
      For Each objItem in colItems
          Files_W.WriteLine "Общая инфа: " & objItem.Caption & "  "
      Next
      '_ вм:
      Set colItems = objWMI.ExecQuery("Select * from Win32_BaseBoard")
      For Each objItem in colItems
      Files_W.WriteLine "Мать: " & objItem.Caption & "  " & objItem.Manufacturer & "  "
      Next
      'ВидеоКонтроллер
      Set colItems = objWMI.ExecQuery("Select * from Win32_VideoController")
      For Each objItem in colItems
          Files_W.WriteLine "Видео: " & Trim(objItem.Name)& "  " & Int(objItem.AdapterRAM/1000000) & " mb. "
      Next
      'Проц
      Set colItems = objWMI.ExecQuery("Select * from Win32_Processor")
      For Each objItem in colItems
          Files_W.WriteLine "Проц: " & Trim(objItem.Name) & "  "
      Next
      'Память
      Set colItems = objWMI.ExecQuery("Select * from Win32_PhysicalMemory")
      For Each objItem in colItems
          Files_W.WriteLine "Память: " & objItem.Caption & "  " & Int(objItem.Capacity/1000000) & " mb.  "
      Next
      'Винт
      Set colItems = objWMI.ExecQuery("Select * from Win32_DiskDrive")
      For Each objItem in colItems
          Files_W.WriteLine "Винт: " & objItem.Caption & "  " & Int(objItem.Size/1000000) & " mb.  "
      Next
      'CD
      Set colItems = objWMI.ExecQuery("Select * from Win32_CDROMDrive")
      For Each objItem in colItems
      Files_W.WriteLine "CD: " & objItem.Caption & "  "
      Next
      Files_W.WriteLine "******************************************************************************"
      Files_W.WriteLine ""
Else 'Не удалось соединиться с компьютером
  StrResult = "    " & CStr(Now) & " Computer=" & CompName & " ERROR " & Err.Number & "not exist or is unavailable"
  Files_W.WriteLine StrResult
End If
20 burtom
 
27.04.07
18:39
(19)
Клево.
Вот если бы сюда еще и программы добавить.... ))
21 smaharbA
 
27.04.07
18:42
(20) и это реально, вполне
но есть одно но - брендмаукер например, или доступ к вми
22 burtom
 
27.04.07
18:49
(21)
Спасибо за помощь.

И все таки  остался последний вопрос: Как запустить bat в фоне, чтобы он не высвечивался при загрузке.
23 smaharbA
 
27.04.07
18:57
Скрывает отображение команд в сценариях входа, написанных для Windows NT 4.0 и более ранних версий.

Сценарии входа представляют собой пакетные файлы, состоящие из команд, выполняемых системой при входе пользователя в систему. По умолчанию, Windows 2000 отображает выполняемые команды сценариев входа, написанных для Windows NT 4.0 и более ранних версий, в окне командной строки, хотя не отображает сценарии входа, написанные для Windows 2000.

Если эта политика включена, Windows 2000 не отображает команды сценариев входа, написанных для Windows NT 4.0 и более ранних версий.

См. также политику "Выполнять сценарии входа с отображением команд".
...
Сам пакетник - вариант есть, но не будет работать на вин98 (вернее не всегда)
24 burtom
 
28.04.07
04:39
(23)
Win98 нет. Как реализовать?
25 burtom
 
28.04.07
05:21
(11)

Чет не работает скрипт.

Сохранил его в файл vbs и запустил. Результат: пустое окно и кнопка ОК.
26 smaharbA
 
28.04.07
07:08
(25) ты путьто к домену свой поставь
("LDAP://dc=n-d,dc=ru") -> n-d.ru
27 ATI
 
28.04.07
07:39
(20,21)Настаиваю на (19), тем более что у него домен, имея права админа доступ к вми, настроить все. Скрипт легко автоматизируется, расширяется, нет ничего лишнего.
Фтопку фпингер. Такие задачи как правило одноразовые, или с редкой периодичностью.
28 smaharbA
 
28.04.07
08:05
(27) Да яж не против, наоборот за
29 smaharbA
 
28.04.07
11:25
Ну если не вкурсе имени домена, а обладаешь админскими правами :) то можешь и так...

s=""
function alluser(adspath)
   on error resume next
   Set obj = GetObject(adspath)
   For Each o In obj
       if left(o.name,2)="OU" then
           alluser(o.adspath)
       elseif left(o.name,2)="CN" then
           o.Put "scriptPath", "StartUp.bat"
           o.SetInfo
           if err then
               err.clear
           else
               s=s & o.adspath & "==" & o.Get("scriptPath") & vbcr
           end if
       end if
   Next
end function
Set ldap = GetObject("LDAP://localhost")
alluser(replace(ldap.adspath,"localhost/",""))
WScript.Echo s
30 burtom
 
28.04.07
16:30
(29)

Блин. Сорри. Затупил. )) Разобрался.

Всем спасибо.


И все-таки.

Просветите насчет GPO.
У меня вот какая задача.

- Сделать несколько профилей для разных групп пользователей.

- В профиль воткнуть автоматическое подключение 2 сетевых дисков. 1 общий, 2 личная папка на серваке.

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

Как поступить? Создать обязательный профиль? В какую сторону идти?
31 smaharbA
 
28.04.07
19:12
Сделай Подрозделения (UO)