PIL123
02-07-2012, 18:35
Доброго времени суток, коллеги!
Тестовая виртуальная свежеустановленная среда, состоящая из Windows Server 2008 R2 SP1 (Domain Controller, имя = TestDC) и клиента на Windows XP (имя = TestClient). Клиент в структуре AD расположен тут:
http://clip2net.com/clip/m19972/thumb640/1341236777-clip-43kb.jpg (http://clip2net.com/s/25fam)
Есть только одна GPO (без учёта дефалтовых) прилинкованная к домену в целом. Называется "Run AIDA64 Reports"
http://clip2net.com/clip/m19972/thumb640/1341234899-clip-57kb.jpg (http://clip2net.com/s/25eOx)
Внутри этой политики есть только одна настройка ...\Scripts\Startup
http://clip2net.com/clip/m19972/thumb640/1341235096-clip-28kb.jpg (http://clip2net.com/s/25eQB)
Файл скрипта лежит в контейнере политики:
http://clip2net.com/clip/m19972/thumb640/1341235250-clip-26kb.jpg (http://clip2net.com/s/25eSf)
...по пути: \\Company.Local\SYSVOL\Company.Local\Policies\{DBFBD0DB-F061-4464-A206-51984B01ABB3}\Machine\Scripts\Startup\Run AIDA64 Reports.vbs
Скрипт внутри VBS-файла имеет следующий код:
dim ComputerName
Set objNetwork = CreateObject("Wscript.Network")
ComputerName = objNetwork.ComputerName
Set WshShell = WScript.CreateObject("WScript.Shell")
dim ObjFso
Set objFSO = CreateObject("Scripting.FileSystemObject")
If not objFSO.FileExists("\\TestDC.Company.Local\Distributives\AIDA64\Reports\"+ComputerName+".txt") Then
WshShell.Run """\\TestDC.Company.Local\Distributives\AIDA64\aida64.exe"" /R ""\\TestDC.Company.Local\Distributives\AIDA64\Reports\$HOSTNAME"" /SUM /TEXT /SILENT"
end if
Код скрипта и суть его можно почитать тут: http://forum.oszone.net/thread-219157.html (с сообщения № 5). Если коротко: скрипт проверяет нет ли в определённой сетевой папке файла с именем компьютера на котором выполняется скрипт. Если файл есть, скрипт ничего не делает, если файла нет, скрипт запускает программу AIDA64 с определёнными параметрами, которая создаёт файл в той самой определённой сетевой папке и называет его аналогично имени текущего компьютера на котором выполнялась AIDA (ну и скрипт).
Проблема: в процессе тестирования работы этой политики и выполнения скрипта, выяснилось, что скрипт работает (даёт результат в виде файла) на контроллере домена, а на клиенте не работает (результат в виде файла не даёт). Политика и скрипт в ней - одни и те же.
RSoP на клиенте говорит следующее:
http://clip2net.com/clip/m19972/thumb640/1341236918-clip-43kb.jpg (http://clip2net.com/s/25fbR)
GPResult на клиенте пишет это:
http://clip2net.com/clip/m19972/thumb640/1341237235-clip-78kb.jpg (http://clip2net.com/s/25fft)
Чтобы исключить вероятные проблемы с сетевым доступом я изначально дал полный доступ для "Everyone" на шару и на NTFS (среда тестовая и позволяет легко это делать). Может надо ещё кому-нибудь чего-нибудь дать? Кого такого нужного Everyone не включает? По идее этот скрипт должен выполняться под SYSTEM, но в каждом компе SYSTEM свой и как дать на него разрешения в масштабах домена? Выглядит это вот так сейчас:
Шара:
http://clip2net.com/clip/m19972/thumb640/1341238108-clip-24kb.jpg (http://clip2net.com/s/25fpm)
NTFS для расшаренной папки:
http://clip2net.com/clip/m19972/thumb640/1341238137-clip-54kb.jpg (http://clip2net.com/s/25fpJ)
NTFS непосредственно для папочки "Reports"? куда должны складываться файлы:
http://clip2net.com/clip/m19972/thumb640/1341238167-clip-54kb.jpg (http://clip2net.com/s/25fq2)
Содержимое папки "Reports". Видно, что файл лежит только от контроллера домена, т.е. и политика и скрипт на нём отработали как нужно:
http://clip2net.com/clip/m19972/thumb640/1341238195-clip-28kb.jpg (http://clip2net.com/s/25fqn)
В чём проблема - не пойму :-(
Помогите, пожалуйста, разобраться, чтобы скрипт отрабатывал на всех машинах к которым применена политика с ним!
Картинки кликабельны.
UPD:
Запустил вместо VBS-скрипта CMD-файл аналогичного назначения:
if not exist "\\TestDC.Company.Local\Distributives\AIDA64\Reports\%COMPUTERNAME%.txt" ( "\\TestDC.Company.Local\Distributives\AIDA64\aida64.exe" /R "\\TestDC.Company.Local\Distributives\AIDA64\Reports\$HOSTNAME" /SUM /TEXT /SILENT ) else exit
Отчёт с клиента упал куда надо:
http://clip2net.com/clip/m19972/thumb640/1341242204-clip-31kb.jpg (http://clip2net.com/s/25gah)
Не знаю что и думать. Но, надо полагать, дело не в доступах к сетевым папкам. В чём ещё может быть проблема: неправильный VBS-скрипт, работающий как-то избирательно или может я его неправильно прописал (см. рис. 3)?
Тестовая виртуальная свежеустановленная среда, состоящая из Windows Server 2008 R2 SP1 (Domain Controller, имя = TestDC) и клиента на Windows XP (имя = TestClient). Клиент в структуре AD расположен тут:
http://clip2net.com/clip/m19972/thumb640/1341236777-clip-43kb.jpg (http://clip2net.com/s/25fam)
Есть только одна GPO (без учёта дефалтовых) прилинкованная к домену в целом. Называется "Run AIDA64 Reports"
http://clip2net.com/clip/m19972/thumb640/1341234899-clip-57kb.jpg (http://clip2net.com/s/25eOx)
Внутри этой политики есть только одна настройка ...\Scripts\Startup
http://clip2net.com/clip/m19972/thumb640/1341235096-clip-28kb.jpg (http://clip2net.com/s/25eQB)
Файл скрипта лежит в контейнере политики:
http://clip2net.com/clip/m19972/thumb640/1341235250-clip-26kb.jpg (http://clip2net.com/s/25eSf)
...по пути: \\Company.Local\SYSVOL\Company.Local\Policies\{DBFBD0DB-F061-4464-A206-51984B01ABB3}\Machine\Scripts\Startup\Run AIDA64 Reports.vbs
Скрипт внутри VBS-файла имеет следующий код:
dim ComputerName
Set objNetwork = CreateObject("Wscript.Network")
ComputerName = objNetwork.ComputerName
Set WshShell = WScript.CreateObject("WScript.Shell")
dim ObjFso
Set objFSO = CreateObject("Scripting.FileSystemObject")
If not objFSO.FileExists("\\TestDC.Company.Local\Distributives\AIDA64\Reports\"+ComputerName+".txt") Then
WshShell.Run """\\TestDC.Company.Local\Distributives\AIDA64\aida64.exe"" /R ""\\TestDC.Company.Local\Distributives\AIDA64\Reports\$HOSTNAME"" /SUM /TEXT /SILENT"
end if
Код скрипта и суть его можно почитать тут: http://forum.oszone.net/thread-219157.html (с сообщения № 5). Если коротко: скрипт проверяет нет ли в определённой сетевой папке файла с именем компьютера на котором выполняется скрипт. Если файл есть, скрипт ничего не делает, если файла нет, скрипт запускает программу AIDA64 с определёнными параметрами, которая создаёт файл в той самой определённой сетевой папке и называет его аналогично имени текущего компьютера на котором выполнялась AIDA (ну и скрипт).
Проблема: в процессе тестирования работы этой политики и выполнения скрипта, выяснилось, что скрипт работает (даёт результат в виде файла) на контроллере домена, а на клиенте не работает (результат в виде файла не даёт). Политика и скрипт в ней - одни и те же.
RSoP на клиенте говорит следующее:
http://clip2net.com/clip/m19972/thumb640/1341236918-clip-43kb.jpg (http://clip2net.com/s/25fbR)
GPResult на клиенте пишет это:
http://clip2net.com/clip/m19972/thumb640/1341237235-clip-78kb.jpg (http://clip2net.com/s/25fft)
Чтобы исключить вероятные проблемы с сетевым доступом я изначально дал полный доступ для "Everyone" на шару и на NTFS (среда тестовая и позволяет легко это делать). Может надо ещё кому-нибудь чего-нибудь дать? Кого такого нужного Everyone не включает? По идее этот скрипт должен выполняться под SYSTEM, но в каждом компе SYSTEM свой и как дать на него разрешения в масштабах домена? Выглядит это вот так сейчас:
Шара:
http://clip2net.com/clip/m19972/thumb640/1341238108-clip-24kb.jpg (http://clip2net.com/s/25fpm)
NTFS для расшаренной папки:
http://clip2net.com/clip/m19972/thumb640/1341238137-clip-54kb.jpg (http://clip2net.com/s/25fpJ)
NTFS непосредственно для папочки "Reports"? куда должны складываться файлы:
http://clip2net.com/clip/m19972/thumb640/1341238167-clip-54kb.jpg (http://clip2net.com/s/25fq2)
Содержимое папки "Reports". Видно, что файл лежит только от контроллера домена, т.е. и политика и скрипт на нём отработали как нужно:
http://clip2net.com/clip/m19972/thumb640/1341238195-clip-28kb.jpg (http://clip2net.com/s/25fqn)
В чём проблема - не пойму :-(
Помогите, пожалуйста, разобраться, чтобы скрипт отрабатывал на всех машинах к которым применена политика с ним!
Картинки кликабельны.
UPD:
Запустил вместо VBS-скрипта CMD-файл аналогичного назначения:
if not exist "\\TestDC.Company.Local\Distributives\AIDA64\Reports\%COMPUTERNAME%.txt" ( "\\TestDC.Company.Local\Distributives\AIDA64\aida64.exe" /R "\\TestDC.Company.Local\Distributives\AIDA64\Reports\$HOSTNAME" /SUM /TEXT /SILENT ) else exit
Отчёт с клиента упал куда надо:
http://clip2net.com/clip/m19972/thumb640/1341242204-clip-31kb.jpg (http://clip2net.com/s/25gah)
Не знаю что и думать. Но, надо полагать, дело не в доступах к сетевым папкам. В чём ещё может быть проблема: неправильный VBS-скрипт, работающий как-то избирательно или может я его неправильно прописал (см. рис. 3)?