Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Logon script для компьютеров в группе AD

Ответить
Настройки темы
VBS/WSH/JS - [решено] Logon script для компьютеров в группе AD

Аватара для Rolenarim

Старожил


Сообщения: 150
Благодарности: 26


Конфигурация

Профиль | Отправить PM | Цитировать


Добрый день.

Есть скрипт VBS для пользователей, который запускается через GPO при входе пользователя в систему.

Все бы ничего, но он, как ему и положено, также запускается и на терминальном сервере, что не рационально.

Есть желание добавить в скрипт сначала проверку компьютера, на то, что он входит в группу компьютеров AD (например SC) и уже тогда полностью отрабатывать скрипт, если данного компьютера нет в группе, то завершение скрипта.

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

Надеюсь на вашу помощь в доработке скрипта.

-------
Если информация Вам помогла, не забывайте нажимать под ней на кнопку "Полезное сообщение"


Отправлено: 08:35, 25-09-2015

 

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата Rolenarim:
входит в группу компьютеров AD (например SC) »
«группу» следует понимать как «OU»?

Отправлено: 09:34, 25-09-2015 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Rolenarim

Старожил


Сообщения: 150
Благодарности: 26

Профиль | Отправить PM | Цитировать


Да, совершенно верно.

CN=SC,OU=Group,DC=SRV,DC=RU

-------
Если информация Вам помогла, не забывайте нажимать под ней на кнопку "Полезное сообщение"


Отправлено: 09:45, 25-09-2015 | #3


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Ну, например:
Код: Выделить весь код
Option Explicit

If StrComp( _
		GetObject("LDAP://" & WScript.CreateObject("ADSystemInfo").ComputerName).Parent, _
		"LDAP://CN=SC,OU=Group,DC=SRV,DC=RU", _
		vbTextCompare _
	) = 0 Then
	
	' Place your code here
End If

WScript.Quit 0
Это сообщение посчитали полезным следующие участники:

Отправлено: 10:39, 25-09-2015 | #4


Аватара для Rolenarim

Старожил


Сообщения: 150
Благодарности: 26

Профиль | Отправить PM | Цитировать


Скрипт запускается, но желаемого результата нет.

Код: Выделить весь код
Option Explicit

If StrComp( _
		GetObject("LDAP://" & WScript.CreateObject("ADSystemInfo").ComputerName).Parent, _
		"LDAP://CN=SC,OU=Group,DC=SRV,DC=RU", _
		vbTextCompare _
	) = 0 Then
msgbox ("da")
else
msgbox ("net")

End If
Результат "net", хотя данная машина есть в группе.

Возможно я не правильно принимаю параметры.

При проверке на сервере:
Код: Выделить весь код
Function GetComputerOU
	Dim objSysInfo: Set objSysInfo = CreateObject("ADSystemInfo")
	Dim objComputer: Set objComputer = GetObject("LDAP://" & objSysInfo.ComputerName)
	Dim objOU : Set objOU = GetObject(objComputer.Parent)
	GetComputerOU = objOU.OU
End Function

Wscript.Echo GetComputerOU
Выдается сообщение "Domain Controllers" и он действительно входит в подразделение Domain Controllers, но он также входит в Group, в подраздел SC
А при запуске на рабочей станции отображается пустое окно.

Если запустить тоже самое с параметром "LDAP://CN=SC,OU=Group,DC=SRV,DC=RU" то на обеих машинах отображается Group.

В результате должно получиться:
SRV1 входит в подгруппу SC, группы Group - скрипт продолжается
Comp1 не входит - скрипт завершается

-------
Если информация Вам помогла, не забывайте нажимать под ней на кнопку "Полезное сообщение"


Отправлено: 14:19, 25-09-2015 | #5


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата Rolenarim:
хотя данная машина есть в группе. »
Цитата Rolenarim:
Выдается сообщение "Domain Controllers" и он действительно входит в подразделение Domain Controllers, но он также входит в Group, в подраздел SC »
Машина не может быть одновременно в нескольких OU. Я не случайно спрашивал, что Вы имеете в виду под «группа».

Покажите скриншот того, что Вы именуете:
Цитата Rolenarim:
он также входит в Group, в подраздел SC »

Отправлено: 15:04, 25-09-2015 | #6


Новый участник


Сообщения: 25
Благодарности: 3

Профиль | Отправить PM | Цитировать


Я подобное решал фильтром по процессу rdp.
Код: Выделить весь код
strComputer = "." 
rdpProc = 1
Set objWMIService = GetObject( _
"winmgmts:\\" & strComputer & "\root\CIMV2") 
Set colItems = objWMIService.ExecQuery( _
"SELECT * FROM Win32_Process" & _
" WHERE Name = 'rdpclip.exe'",,48) 
For Each objItem in colItems 
If objItem.Name = "rdpclip.exe" Then 
rdpProc = 0
exit for 
End If 
Next
If rdpProc = 0 Then 
filetxt.WriteLine("Терминальный сеанс Checkcfg не нужен")
Else
' checkcfg
call objWSH.Run("\....\checkcfg\Checkcfg.exe", Hide_Window)
filetxt.WriteLine("Запускаем Checkcfg ")

Последний раз редактировалось Nand, 25-09-2015 в 22:02. Причина: неправилно вспомнил

Это сообщение посчитали полезным следующие участники:

Отправлено: 21:47, 25-09-2015 | #7


Аватара для Rolenarim

Старожил


Сообщения: 150
Благодарности: 26

Профиль | Отправить PM | Цитировать


Изображения
Тип файла: jpg DC_Screen.JPG
(68.6 Kb, 8 просмотров)
Тип файла: jpg DC_Screen2.JPG
(126.3 Kb, 7 просмотров)

Nand,

Хороший вариант.

Но для общего понимания надо и с первым разобраться )

Во вложении скрины ветки AD.

-------
Если информация Вам помогла, не забывайте нажимать под ней на кнопку "Полезное сообщение"


Отправлено: 11:15, 26-09-2015 | #8


Аватара для Elven

Ветеран


Сообщения: 992
Благодарности: 268

Профиль | Сайт | Отправить PM | Цитировать


Я конечно понимаю что это несколько не то об чем спрашивается, но не проще ли не запускать логон скрипт через политики в определенных OU. имхо в GPO это решается проще и быстрее.

Отправлено: 11:29, 26-09-2015 | #9


Аватара для Rolenarim

Старожил


Сообщения: 150
Благодарности: 26

Профиль | Отправить PM | Цитировать


Elven,

Предлагаете создать OU=Computers1 перенести в него из OU=Computers нужные машины и создать Dafault policy для нее с нужным скриптом?

-------
Если информация Вам помогла, не забывайте нажимать под ней на кнопку "Полезное сообщение"


Отправлено: 13:52, 26-09-2015 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Logon script для компьютеров в группе AD

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
2008 R2 - Задание в шедуллер с помощью logon script svenser@vk Windows Server 2008/2008 R2 2 19-03-2015 14:10
[решено] Отмена Logon Script Kaimor Microsoft Windows NT/2000/2003 5 19-01-2012 17:43
Надо убить Logon script в Доменной политике NiOl Microsoft Windows NT/2000/2003 7 04-06-2010 14:47
logon script на серевере терминалов klesk Microsoft Windows NT/2000/2003 1 22-05-2008 02:19
NT4 W2K сервер и W9X-ME logon script Guest Microsoft Windows NT/2000/2003 6 16-10-2003 16:41




 
Переход