Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Автоматизация администрирования. Часть 2

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

ShriEkeR (23-05-2011 23:06): Автоматизация администрирования. Часть 3  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114

   

FreemanRU



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
 

                               Коллеги-администраторы  ....  


Часть 2я

Часть 1
Думаю каждый из вас сталкивался с необходимостью выполнять некие несложные рутинные операции, на котороые уходит много драгоценного времени.
 Например, создать определенную структуру каталогов для каждого пользователя домена, изменить некие параметры в профилях всех или части пользователей, изменить полномочия/владельца однотипных файлов в разных каталогах т.д.  
Я, как сисадмин, тоже не раз был вынужден делать все это.  Руками делать это тоскливо и муторно, как вы понимаете. Должен заметить, что по неким "религиозным" убеждениям я всегда старался избегать любых отношений с бейсиком и его производными. Еще мой отец учил меня не иметь с ним никаких дел. Буквально. А теперь я учу своего сына тому же. Но, тем не менее, полностью избежать этого, по всей видимости, невозможно, тем более, что бейсик от M$ сейчас уже далеко не та "лапша", которой он был изначально, а современный структурированный язык, нашедший множество применений. Похоже, что для меня в очередной раз настала пора выучить еще что-то. Знаете, как курильщик много раз безуспешно пытается бросить курить, так и я не раз пытался подступиться к изучению VBScript, но пока никак не одолел. Лень, знаете ли. А инструмент в делах административных был бы весьма пользительный, должен заметить, для быстрого написания всякого рода скриптов.

 
    Внимание   !  !  !  

  • Поскольку данный топ весьма не мал, не забывайте  использовать "версию для печати" для более удобного поиска по теме. А также МЕГА ПОИСКОВИК от NEPa

  • Дабы не раздувать топ,  примеры своих  скриптов  заключаем в тег  "more"

Консольные команды. Командный интерпретатор

Windows Script Host (WSH) &  VBScript  &  JScript


Вышеперечисленные буки можно  взять здесь

    ТOOLS :
  1. Autoit+readme.rus
  2. Scriptologic
  3. AutoMate
  4. KIXTART
  5. nnCron-Планировщик с поддержкой скриптового языка --  РЕКОМЕНДУЮ
  6. WGET, GREP, GETMAIL, BLAT for Windows замечательные консольные утилиты
  7. 4dos/4nt -- отличная замена стандартного коммандного интерпретатора  
  8. JudoScript - java подобный скриптовый язык с исходниками
  9. VBS2EXE - утилита для компиляции vbs и js скриптов в exe выдранная из пакета PrimalScript

    Дружественные темы :
  1. Автоматическая (unattended) установка Windows
  2. Интересные команды при работе с Linux
  3. Отличный сайт по скриптингу, и не только
  4. Использование KIX
  5. Использование WMI
  6. Программирование "удобняшек" на VBScript

 
Подробнее...
Создается по материалам данного топа

 
Надеюсь данная тема будет полезна для Вас.
 Предложения по реформированию шапки принимаю в ПМ Jovanotti

 

Всего записей: 3795 | Зарегистр. 16-07-2004 | Отправлено: 17:27 11-12-2006 | Исправлено: Smitis, 12:30 20-08-2008
urel

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
strizhakovs
dns - если обратная зона есть или пробовать через WMI вытянуть

Всего записей: 292 | Зарегистр. 16-09-2004 | Отправлено: 14:41 15-02-2007
strizhakovs

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А можно более подробно описать эти варианты, а то не очень понятно как

Всего записей: 51 | Зарегистр. 26-09-2006 | Отправлено: 16:26 15-02-2007
gap5



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Создаю скриптом ярлыки:
 
IF Not objFSO.FileExists(strDesktop & "\Ярлычог.lnk") THEN
set oShellLink = WshShell.CreateShortcut(strDesktop & "\Ярлычог.lnk")
oShellLink.TargetPath = "X:\Прекрасная папка\Какбыдляяфайлига\файлиг.doc"  
oShellLink.WindowStyle = 1  
oShellLink.Save
set oShellLink = NOTHING
END IF
 
Все вроде бы хорошо, но иногда путь до файла в ярлыке прописывается вот такой:
 
"X:\Прекрасн\Какбыдля\файлиг.doc"
 
Т.е. названия папок обрезаются до 8 символов.
Что за нафиг?

Всего записей: 1033 | Зарегистр. 30-05-2006 | Отправлено: 17:26 15-02-2007
FreemanRU



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
gap5

Цитата:
oShellLink.TargetPath = "X:\Прекрасная папка\Какбыдляяфайлига\файлиг.doc"  

переделай на  

Код:
oShellLink.TargetPath = """X:\Прекрасная папка\Какбыдляяфайлига\файлиг.doc"""  



----------
Если не получается с первого раза - прочти инструкцию. (с)
"Откуда нам знать, что такое война, если мы не знаем мира..."(с)
Записки

Всего записей: 3795 | Зарегистр. 16-07-2004 | Отправлено: 17:31 15-02-2007
gap5



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
FreemanRU
Не влияет...
Все равно где-то в 1 из 15 запусков адрес прописывается с ограничением в 8 символов... и никак не могу отследить закономерность
 
urel

Цитата:
 
@echo off    
   
set txt=computers_list.txt
 
for /f "skip=3" %%q in (%txt%) do (    
if  not "%%q"=="server"  (    
    echo shuting down %%q    
    echo shutdown /s /m \\%%q    
    echo.    
    )  
)    
del /q  %txt%  

 
Два вопроса:
 
1) Можно ли для shutdown.exe выставить некий connection timeout? А то для выключенных компов он иногда подвисает чуть ли не на минуту, прежде чем пишет что имя отсутствует, а иногда сразу пишет. Или может как-то принудительно делать terminate job?
 
2) Как описать shutdown только для компов имеющих в названии office?

Всего записей: 1033 | Зарегистр. 30-05-2006 | Отправлено: 19:45 15-02-2007 | Исправлено: gap5, 21:42 15-02-2007
perseus

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, плиз, как реализовать:
Нужен скрипт на JScript, который находит user'ов (по ФИО) в ADSI и изменяет значения атрибутов (отдела, номер  телефона и др..)
|| IP контроллера домена 192.168.0.231
|| DomainDN  DC=econ,DC=ru
|| User DN  CN=<ФИО>,OU=<Название отдела>,DC=econ,DC=ru
|| Есть админ учетка в домене
 
Буду рад любой инфе по работе с ADSI и протоколом LDAP в JScript
 
Заранее благодарен : )

Всего записей: 1 | Зарегистр. 15-02-2007 | Отправлено: 22:59 15-02-2007
begem0t



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
нет ли у кого скрипта, который удаляет старые файлы из каталога и подкаталогов, например файлы старее 7 дней?

Всего записей: 901 | Зарегистр. 06-01-2003 | Отправлено: 14:02 16-02-2007
strizhakovs

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
нет ли у кого скрипта, который удаляет старые файлы из каталога и подкаталогов, например файлы старее 7 дней?

Лови функцию с моего логон-скрипта, мелочи сам подработаешь
'===========================================================
'
' Function DelFilesDate(sFullPath, ndays)
' sFullPath - delete  directory
' ndays - quantity of days after then file deleting
' COMMENT:  delete temp files old "ndays" days
'
'===========================================================
 
Function DelFilesDate(sFullPath, ndays)  
  Dim lfsObject
  Dim lFileList  
  Dim lFolder  
  Dim lFile
 
 Set lfsObject = CreateObject("Scripting.FileSystemObject")  
 
 'Process contained files first  
  If lfsObject.FolderExists(sFullPath) Then
    Set lFolder = lfsObject.GetFolder(sFullPath)
    Set lFileList = lFolder.Files
         ' Scan each file in the folder  
    For Each lFile In lFileList    
       ' Get the difference In days between the two dates
             Diff = DateDiff("d", lFile.DateLastModified, Now)        
              
          If Diff >= ndays Then  
              'MsgBox lFile.Name  
              lfsObject.DeleteFile(sFullPath & "\" & lFile.Name)
          End If    
     Next
       If lFolder = WshShell.ExpandEnvironmentStrings("%TEMP%")  Then                 
        'Process subdirectories  
          Set lSubFolders = lFolder.SubFolders  
              For Each lSubFolder in lSubFolders  
             NewSource = strSourceDir & "\" & lSubFolder.Name  
             'Recursive call to delete all subdirectories  
             DelFiles NewSource  
             'Delete this directory  
             lSubFolder.Delete  
              Next  
              Else
       End If
  End If
  'Cleanup  
  Set lfsObject = Nothing  
  Set lFileList = Nothing  
  Set lFolder = Nothing  
  Set lFile = Nothing  
     
End Function  

Всего записей: 51 | Зарегистр. 26-09-2006 | Отправлено: 15:01 16-02-2007
mistx

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
помогите решить проблему плиз.
мониторы компов в домене отрубаются по умолчанию через 20 минут.
как запретить выключение?

Всего записей: 765 | Зарегистр. 13-01-2005 | Отправлено: 17:07 20-02-2007
Exilim



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Искал по всей теме как автоматом менять настройки сетевого интерфейса и нашел только наводку..
 
Вот, еси кому пригодится, чтобы голову не ломать =)
 
 
netsh interface ip set address name="Ethernet" static 192.168.0.100 255.255.255.0 192.168.0.1 1
netsh interface ip set dns name="Ethernet" static 192.168.0.1

Всего записей: 110 | Зарегистр. 12-08-2005 | Отправлено: 00:04 22-02-2007 | Исправлено: Exilim, 01:14 22-02-2007
gap5



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
На компе две сетевые карты, через одну (ethernet) работа из дома, через другую (wi-fi) на работе. Соответственно обе карты (соединения) активными одновременно не бывают.  
 
В Internet Explorer настройки proxy сервера прописываются глобально для LAN соединения, куда попадает как Ethernet так и Wi-Fi.
 
Задача: при поднятии Ethernet соединения удалять настройки proxy, при поднятии Wi-fi - прописывать заново. Теоретически это можно сделать через vbs скрипт, остается только автоматизировать его запуск.
 
Есть у кого ни будь идеи?
 
В крайнем случае как запускать ie с нужными параметрами proxy?

Всего записей: 1033 | Зарегистр. 30-05-2006 | Отправлено: 21:11 23-02-2007
popsa72

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем ПРУВЕТ!!
Задача:При замене серверов нужно пользователям заменить ярлыки, которые находяться в профилях.
Написал скрипт.
'*************************************************************
'*  Замена ярлыков на диске с профилями по параметру "Обьект" в свойствах
'*************************************************************
On Error Resume Next
strComputer = "."
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("Wscript.Shell")
Set objWMIService = GetObject("winmgmts:{impersonatelevel=impersonate}!\\" &strComputer & "\root\CIMV2")
 
ProfilePath = objShell.ExpandEnvironmentStrings("%UserProfile%")
UserDrive = LCase(Left(ProfilePath,2))
LinkLoc = LCase("\\111\new.exe.lnk") 'Новый ярлык
 
TargetLoc = "\\222\old.EXE" 'путь который ищется
TargetLoc = Replace(LCase(TargetLoc),"\","\\")
 
Set colItem = objWMIService.ExecQuery("SELECT Name FROM Win32_ShortcutFile WHERE "&_ "Drive = '"&UserDrive&"' AND Path LIKE '\\Documents and Settings\\' AND Target = '"&TargetLoc&"'")
    For Each objItem In colItem
        objItem.Delete
        objFSO.CopyFile LinkLoc,objItem.Name,True
    Next
 
Он находит ярлыки, только если группе Users дан доступ как минимум на чтение к этим ярлыкам...
Запрос WMI не находит их если не соблюдено это условие
Но если учесть то что к профилю имеют доступ админы и сам пользователь, а не группа User, то получается ПОПИЯ...

Всего записей: 6 | Зарегистр. 20-12-2005 | Отправлено: 21:43 28-02-2007
Dimastii86

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет мужики неподскажите как можно сделать такой скрип который бы при появлении новой машины в домене начал автоматически заливать софт(например ICQ,Winrar и.т.д) с сетевого диска на эту машину

Всего записей: 11 | Зарегистр. 03-02-2007 | Отправлено: 06:19 02-03-2007
Nsib



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Привет мужики неподскажите как можно сделать такой скрип который бы при появлении новой машины в домене начал автоматически заливать софт(например ICQ,Winrar и.т.д) с сетевого диска на эту машину

 
Запускаешь логин-скрипт под системной учетной записью и при входе ситема начинает установку или обновление установленных программ.
'Update.vbs
Dim WshLogonPath
Set WshShell = WScript.CreateObject("WScript.Shell")  
 
On Error Resume Next  
If WshShell.FileExists("\\Controller\Scripts$\iChat.vbs") Then
    WshShell.Run "\\Controller\Scripts$\iChat.vbs", 0, True
End If
If WshShell.FileExists("\\Controller\Scripts$\RAdmin.vbs") Then
    WshShell.Run "\\Controller\Scripts$\RAdmin.vbs", 0, True
End If
If WshShell.FileExists("\\Controller\Scripts$\Update_key_DrWeb.vbs") Then
    WshShell.Run "\\Controller\Scripts$\Update_key_DrWeb.vbs", 0, True
End If
If WshShell.FileExists("\\Controller\Scripts$\Update_2Gis.vbs") Then
    WshShell.Run "\\Controller\Scripts$\Update_2Gis.vbs", 0, True
End If
If WshShell.FileExists("\\Controller\Scripts$\Ti.vbs") Then
    WshShell.Run "\\Controller\Scripts$\Ti.vbs", 0, True
End If
If WshShell.FileExists("\\Controller\Scripts$\WinRar.vbs") Then
    WshShell.Run "\\Controller\Scripts$\WinRar.vbs", 0, True
End If
И для примера Update_2Gis.vbs  
 
Const ForReading = 1, ForWriting = 2, ForAppending = 3
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
Dim Path
Dim Bases
Dim Base
 
Set WSHShell = WScript.CreateObject("WScript.Shell")  
 
Path = ""  
 
On Error Resume Next  
 
GetErr1()  
if Err.Source="WshShell.RegRead" then
    Err.Clear
    GetErr2()
    if Err.Source="WshShell.RegRead" then
        WshShell.Popup "Обратитесь к Администратору для установки ДубльГИС ",10
    else  
        Path = WSHShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\TechnoGrad\DoubleGIS\1.0\Path\")
        Path = Left(Path,Len(Path)-4)
        GetDate()
    end if  
else  
    Path = WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\TechnoGrad\DoubleGIS\1.0\All\")
    GetDate()
end if  
Err.Clear
 
Function GetErr1()
    If WSHShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\TechnoGrad\DoubleGIS\1.0\All\") Then
    End If  
End Function
 
Function GetErr2()
    If WSHShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\TechnoGrad\DoubleGIS\1.0\Path\") Then
    End If  
End Function
 
Function GetDate()  
    Set lfsObject = CreateObject("Scripting.FileSystemObject")
    Set File1 = lfsObject.GetFile(Path & "\Nsk\grym.exe")
    Set File2 = lfsObject.GetFile("\\Controller\Scripts$\Update\2gis\Nsk\grym.exe")
    If File1.DateLastModified <> File2.DateLastModified Then
        CopyFiles "\\Controller\Scripts$\Update\2gis", Path
        Lnk()
        WSHShell.Popup "Обновление ДубльГИС завершино",10
    End If  
End Function
 
Function CopyFiles(strSourceDir, strDestDir)
    On Error Resume Next
    Set lfsObject = CreateObject("Scripting.FileSystemObject")
    Set lFolder = lfsObject.GetFolder(strSourceDir)
    If strSourceDir > "" then
        Set NewFolder = lfsObject.CreateFolder(strDestDir)
        Set lFileList = lFolder.Files
        For Each lFile in lFileList
            lfsObject.CopyFile strSourceDir & "\" & lFile.Name, strDestDir & "\" & lFile.Name
        Next
        Set lSubFolders = lFolder.SubFolders
        For Each lSubFolder in lSubFolders
            NewSource = strSourceDir & "\" & lSubFolder.Name
            NewDest = strDestDir & "\" & lSubFolder.Name
            CopyFiles NewSource, NewDest
        Next
    End If
    Set lfsObject = Nothing
    Set lFileList = Nothing
    Set lFolder = Nothing
    Set lFile = Nothing
End Function
 
Function Lnk()
    Set lfsObject = CreateObject("Scripting.FileSystemObject")
    AllUsersPrograms = WSHShell.SpecialFolders("AllUsersPrograms")
    If lfsObject.FolderExists(AllUsersPrograms & "\ДубльГИС") Then
        Set lFolder = lfsObject.GetFolder(AllUsersPrograms & "\ДубльГИС")
    else
        Set lFolder = lfsObject.CreateFolder(AllUsersPrograms & "\ДубльГИС")
    End If
    Set Bases = CreateObject("Scripting.Dictionary")
 
    Bases.Add "Астрахань"        , "Astrakhan"
    Bases.Add "Барнаул"        ,"Barnaul"
    Bases.Add "Екатеринбург"    ,"Ekaterinburg"
    Bases.Add "Иркутск"        ,"Irkutsk"
    Bases.Add "Кемерово"        ,"Kemerovo"
    Bases.Add "Красноярск"        ,"Krasnoyarsk"
    Bases.Add "Курган"        ,"Kurgan"
    Bases.Add "Нижневартовск"    ,"Nizhnevartovsk"
    Bases.Add "Новокузнецк"        ,"Novokuznetsk"
    Bases.Add "Новосибирск"        ,"Nsk"
    Bases.Add "Омск"            ,"Omsk"
    Bases.Add "Томск"            ,"Tomsk"
    Bases.Add "Тюмень"        ,"Tyumen"
 
    For Each Base in Bases
        Set WshShortcut = WshShell.CreateShortcut(lFolder & "\" & Base & ".lnk")
        WshShortcut.IconLocation = Path & "\" & Bases.Item(Base) & "\grym.exe"
        WshShortcut.TargetPath = Path & "\" & Bases.Item(Base) & "\grym.exe"
        WshShortcut.WindowStyle = 1
        WshShortcut.WorkingDirectory = Path & "\" & Bases.Item(Base)
        WshShortcut.Save
    Next
    Set lfsObject = Nothing
    Set lFolder = Nothing
    Set Gis = Nothing
End Function

Всего записей: 29 | Зарегистр. 02-04-2004 | Отправлено: 08:40 02-03-2007
Bugriy



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как вывести список всех пользователей домена? Как вывести логины всех пользователей домена и названия их компьютеров? Есть свойства ADsPath - но это полный путь, а мне надо только названия.
 
 
userObj.ADsPath
computerObj.ADsPath
 

Всего записей: 226 | Зарегистр. 24-08-2005 | Отправлено: 14:57 02-03-2007 | Исправлено: Bugriy, 14:46 05-03-2007
Dimastii86

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
If WshShell.FileExists("\\Controller\Scripts$\RAdmin.vbs") Then  
    WshShell.Run "\\Controller\Scripts$\RAdmin.vbs", 0, True  
 
 
а вот еще вопрос например RAdmin.vbs- это скрипт по автоматической установки Radmina..... Можно посмотреть как он выглядит для примера.....

Всего записей: 11 | Зарегистр. 03-02-2007 | Отправлено: 22:50 03-03-2007
Nsib



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
а вот еще вопрос например RAdmin.vbs- это скрипт по автоматической установки Radmina..... Можно посмотреть как он выглядит для примера.....

 
Const ForReading = 1, ForWriting = 2, ForAppending = 3
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
Dim FSO, Key, TxtStr, LineRead, Path, File
Set WSHShell = WScript.CreateObject("WScript.Shell")  
Set FSO = CreateObject("Scripting.FileSystemObject")
Path = ""  
 
On Error Resume Next  
 
GetErr()  
if Err.Source="WshShell.RegRead" then  
    Set WshEnv = WshShell.Environment("Process")
    WinPath = WshEnv("SystemRoot")&"\System32"
    CopyFiles "\\Controller\Scripts$\install\RAdmin", WinPath
    WshShell.Run WinPath & "\r_server.exe /install /silence", 1, False
    WshShell.Run WinPath & "\r_server.exe /start", 1, False
    WSHShell.Run "regedit /s \\Controller\Scripts$\install\RAdmin.reg",2
 
else  
    WSHShell.Run "regedit /s \\Controller\Scripts$\install\RAdmin.reg",2
end if  
 
Err.Clear
Function GetErr()  
    If WSHShell.RegRead("HKEY_LOCAL_MACHINE\SYSTEM\RAdmin\v2.0\Server\Parameters\Parameter") Then
    End If  
End Function
 
Function CopyFiles(strSourceDir, strDestDir)
    On Error Resume Next
    Set lfsObject = CreateObject("Scripting.FileSystemObject")
    Set lFolder = lfsObject.GetFolder(strSourceDir)
    If strSourceDir > "" then
        Set NewFolder = lfsObject.CreateFolder(strDestDir)
        Set lFileList = lFolder.Files
        For Each lFile in lFileList
            lfsObject.CopyFile strSourceDir & "\" & lFile.Name, strDestDir & "\" & lFile.Name
        Next
        Set lSubFolders = lFolder.SubFolders
        For Each lSubFolder in lSubFolders
            NewSource = strSourceDir & "\" & lSubFolder.Name
            NewDest = strDestDir & "\" & lSubFolder.Name
            CopyFiles NewSource, NewDest
        Next
    End If
    Set lfsObject = Nothing
    Set lFileList = Nothing
    Set lFolder = Nothing
    Set lFile = Nothing
End Function

Всего записей: 29 | Зарегистр. 02-04-2004 | Отправлено: 11:34 05-03-2007
cluster

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребят, помогите с проблемкой.
Добавляю в АД скриптом нового Пользователя. И скрипт на длинных именах "pre-Windows 2000" спотыкается. Там максимум 20 символов допустимо.
Как мне оптимизировать скрипт, чтобы значение "sAMAccountName" обрезалось и такое же обрезаноое использовать в "homeDirectory"?
Вот кусок скрипта:
 
winName = "Alexander.E.Anisimenko"
preName = "Alexander.E.Anisimen"  ' MAX 20 SYMBOLS <-- Здесь приходится вручную править
set objParent = GetObject("LDAP://OU=Персонал,OU=Предприятия,OU=iTg,DC=aliance,DC=ru")  
set objUser   = objParent.Create("user", "cn=Script_UserName") ' e.g. joes
objUser.Put "sAMAccountName", preName   ' e.g. joes
objUser.Put "userPrincipalName", winName & "@pkf.aliance.ru" ' e.g. joes@rallencorp.com
objUser.Put "givenName", "UserFirstName"   ' e.g. Joe
objUser.Put "sn", "UserLastName"           ' e.g. Smith
objUser.Put "displayName", "FirstName LastName" ' e.g. Joe Smith
objUser.Put "Description", "Специалист" ' e.g. Директор
objUser.Put "HomeDirectory" , "\\aliance\" & preName & "\home$\"
 
Как использовать вместо winName и preName только одну переменную?
 
+
И какой командой выставить галки
- Пользователь не может менять пароль
- Пароль никогда не истекает

Всего записей: 1720 | Зарегистр. 21-11-2003 | Отправлено: 17:19 06-03-2007 | Исправлено: cluster, 18:24 06-03-2007
Bugriy



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как узнать, есть OU или нет если известно FDN?
 
Разобрался. GetObject и ловить ошибку.

Всего записей: 226 | Зарегистр. 24-08-2005 | Отправлено: 18:31 06-03-2007 | Исправлено: Bugriy, 12:11 07-03-2007
Staric

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть скрипт от alecsandrb
   
 
http://forum.ru-board.com/topic.cgi?forum=8&topic=1908&start=1107&limit=1&m=1#1
 
Для создания домашних папок пользователей при логине их в систему.. Но что то он у меня папки создает, а вот с правами полный швах. Пользователи не могут в них писать.. Т.е. явно беда с правами.. При выполнении скрипта выдает какое то сообщение которое проскакивает мгновенно и прочитать его я не могу. У меня домен и файловый сервер на разных машинах, может быть связано с этим? И еще утилита xcacls.exe сейчас уже переделана как я понимаю так как на сайте мелкософта она скриптом сделана.. xcacls.vbs
 
Я конечно нашел exe-шник , но не срослось Помогите плииз.. А то руками создавать 2е сотни папок большой геморой.. Заранее спасибо
 

Всего записей: 82 | Зарегистр. 19-02-2003 | Отправлено: 11:30 07-03-2007 | Исправлено: Staric, 11:38 07-03-2007
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Автоматизация администрирования. Часть 2
ShriEkeR (23-05-2011 23:06): Автоматизация администрирования. Часть 3


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru