Zorion’s Weblog

2008 Декабрь 11,

Отмена запуска программы при входе в Terminal

Рубрика: Active Directory, Citrix, PowerShell, Terminal, Windows — zorion @ 16:24

Вот такая простая на первый взгляд задача.

До того как был поставвлен Citrix был простой батник который запускал определённую программу у пользователей. Когда поставили citrix то данный батник запускал уже он и всё бы было хорошо если бы не поставили тестовый сервер и для него этот батник отличался.

Для тех кто имел доступ только на рабочий сервер, на самом деле программу запускал не citrix а галочка у пользователя “Запуск программы”. Но ни кто об этом даже не подозревал, а вот когда добавили новый сервер, тут и выяснилось, что citrix не может отработать новый батник.

И так, задача предельно ясна, убрать галочку “Запуск программы”

В ADSI ни чего похожего на данную галочку я не нашёл. В интернете все статьи радостно сообщают как установить программу, поменять, но не как отключить. Сразу скажу, все сервера у нас на русском языке и как правильно описать это поиску на английском я не знал.

В PowerShell можно очистить поле “Имя файла программы” и “Рабочая папка”.

Только не выполняйте этой строчки у себя!!!

get-qaduser * | ForEach-Object {set-qaduser $_.name -TsInitialProgram $null -TsWorkDirectory $null}

Вот после этого у меня и случилось счастье, во всём домене стёрлись эти две строчки (а они мне ни где и не нужны были), но – там где они были галочка осталась, а там где их не было, галочка поставилась.

Фильм ужасов отдыхает, конец рабочего дня, отваливается citrix, у пользователей вместо запуска программы открывается рабочий стол. Начальство отдало приказ ночевать, но к утру чтобы всё работало. И старый сервер и новый.

По скольку идей на данный момент не было, я написал Василию Гусеву и в ожидании пока он появится в сети сел вручную снимать галочки во всём домене.

Когда Василий появился, первым делом было предложено вручную обнулить атрибут, так как PoSh с оснастками по-умолчанию этого не умеет.

Set-QADObject -ObjectAttributes @{"Атрибут" = $Null}

Всё бы ни чего, но какой атрибут обнулять?

Следующей идеей было назначить какую-нибудь программу и в ADSI поискать как она называется и поглядеть атрибуты рядом. Назначается всё просто

Get-QADUser zorion | Set-QADUser -TsInitialProgram "cmd.exe" -TsWorkDirectory "c:\windows"

Но в ADSI ни чего похожего не появилось, тогда я сел работатьт руками, а Василий дальше головой. Через десять минут получил короткую инструкцию “userParameters”

Тут же проверив на одном пользователе, сразу натравил на всех.

Get-QADUser * | Set-QADObject -ObjectAttributes @{"userParameters" = $Null}

Василий пошёл простым путём, взял двух пользователей, одного с проставленными атрибутами, другого которому никогда их не проставляли.

Кстати, в ADSI этот параметр выглядит примерно так.

CtxCfgPresent PCtxCfgPresent㔵攱戰ぢ"CtxInitialProgram㌶搶㐶攲㔶㠷㔶〰CtxCfgFlags1〰て〲〸 CtxWorkDirectory㌶愳挵㜷㤶收㐶昶㜷㌷〰

Судя по словам он был сделан специально для citrix.

No Comments Yet »

Комментариев нет.

RSS-лента комментариев к этой записи. URI для обратной ссылки

Оставить комментарий

Вы, должно быть, зарегистрированный, авторизованный отправить комментарий.

Блог на WordPress.com.