forsem |
20-11-2008 21:29 958475 |
Свойство пользователя
Есть такой вопрос.
Как с помощью VBS получить контейнер в котором хрониться пользователь в AD. для дальнейшего использования
полученного результата в условии
я не знаю. как ,но конструкция вроде этой
если user.ou = mosk тогда ........
если user.ou = sptb тогда ........
если возможно то кусок этого кода
|
Код:
dim user;
set user = GetObject "winmgmts:Win32_UserAccount.Domain='MYCORP',Name='petrov'"
WScript.Echo "Caption " & group.Caption
WScript.Echo "Description " & group.Description
WScript.Echo "Domain " & group.Domain
WScript.Echo "InstallDate " & group.InstallDate
WScript.Echo "LocalAccount " & group.LocalAccount
WScript.Echo "Name " & group.Name
WScript.Echo "SID " & group.SID
WScript.Echo "SIDType " & group.SIDType
WScript.Echo "Status " & group.Status
полезное сообщение? ;) уточни, что с пользователем делать собираешься
|
forsem |
22-11-2008 02:37 959813 |
собираюсь диски подключать . так как имею в распорежении только один бат файл и ничего более )
|
Если мапировать сетевые диски, тогда пользователь не нужен. Обычно делают net use. Если скриптом, то MapNetworkDrive. Всё это помещается в логин-скрипт у пользователя (третий ряд, вторая вкладка вроде в свойствая пользователя). И вообще это вопрос не по программированию, а по администрированию ;) сходи туда, там точнее описано
|
forsem |
24-11-2008 08:58 961662 |
у меня пользователи в разных OU вот мне нужно их поделить в одном бат файле , для подключения разных дисков
|
почему нельзя каждому свой батник в логинскрипт назначить?
|
forsem |
24-11-2008 10:59 961748 |
потому что нельзя. :-\ долго писать.
|
Логин-скрипт, который выясняет, в какой OU входит пользователь. Работает медленно и ненадёжно.
Вырезано из скрипта, полгода работал в моей конторе. Потом я переделал всё по-другому, до сих пор работает без проблем.
Но ещё раз повторюсь: быстрее и надёжнее работает если каждому давать свой батник.
Код:
/*****************************************************************
основные переменные
*****************************************************************/
var shell = WScript.CreateObject("WScript.Shell");
var logon_dir = shell.expandEnvironmentStrings("%LOGONSERVER%\\netlogon\\");
var ldap_dom_dc = shell.expandEnvironmentStrings("DC=%userdomain%,DC=ru");
var ldap_user = shell.expandEnvironmentStrings("CN=%username%");
var fileSystem = new ActiveXObject("Scripting.fileSystemObject");
/*****************************************************************
формируем полное имя (путь)
*****************************************************************/
function processUnitBranch(base, target)
{
var groups = GetObject("LDAP://" + base + ldap_dom_dc);
var items = new Enumerator(groups);
for (; !items.atEnd(); items.moveNext())
{
with (items.item()) {
// перебираем все группы, спрашиваем, входим ли мы в них
// группы переаются в виде CN=Group
if (target!=Name) {
// проходимся по всем веткам
if (processUnitBranch(name + "," + base, target)) return true;
}
else {
// нашли
user_path = target + "," + base;
return true;
}
}
}
return false;
}
/*****************************************************************
запуск скриптов
*****************************************************************/
//GetObject ("LDAP://OU=MICROSOFT,DC=MICROSOFT,DC=RU");
if (processUnitBranch("OU=MICROSOFT,", ldap_user))
{
// нашли, запускаем скрипт
processTasks();
}
все имена доменов вымышленные (безопасность типа)
|
amel27 |
24-11-2008 12:03 961827 |
может проще для каждого OU завести группу и проверять на членство в группе?.. имхо это даже удобнее - если включить в несколько групп мапы будут суммироваться, типа такого:
Код:
IfMember Domain\Group01 >nul
If ErrorLevel 1 (
Net Use X: \\SERVER\Share1
Net Use Y: \\SERVER\Share2
)
IfMember Domain\Group02 >nul
If ErrorLevel 1 (
Net Use Z: \\SERVER\Share3
)
IfMember - утилита из ресурскита Windows 2003
|
forsem, прислушайся к amel27, только искользуй
Код:
function isAtGroup(group1)
{
return GetObject(shell.expandEnvironmentStrings("LDAP://CN=" + group1 + ",CN=BuiltIn," + ldap_dom_dc)).isMember(ldap_user);
} // isAtGroup
ему специальных утилит не надо
|
forsem |
24-11-2008 15:01 962032 |
Всё гениальное просто :) спасибо
|
Время: 00:02.
© OSzone.net 2001-