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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
awsswaawsswa

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Цепляем принтер
 
//*****************************************************  
//JScript 2005 ShS addPrn.js  
//Подключение сетевого принтера и установка его принтером по умолчанию  
//Пример запуска: %LOGONSERVER%\NETLOGON\addPrn.js \\PrintServer\HPLJ2200DN(23)  
//*****************************************************  
var WshNetwork,  
   objArgs,  
   strErrMsg,  
   strPrinterPath;  
//Путь к подключаемому принтеру   берем из параметров запуска  
objArgs=WScript.Arguments.Unnamed;  
strPrinterPath=objArgs.Item(0);  
//  
WshNetwork=WScript.CreateObject("Wscript.Network");  
try  
   {  
   WshNetwork.AddWindowsPrinterConnection(strPrinterPath);  
   WshNetwork.SetDefaultPrinter(strPrinterPath);  
   }  
catch (objError)  
   {  
   if (objError !=0)  
      {  
      strErrMsg = "Произошла ошибка при пордключении сетевого принтера -  "+strPrinterPath+"\n"+  
               "Скорее всего узанный сетевой путь не существует"+"\n\n"+  
               "Обратитесь к системному администратору по тел. 128"  
               //"Код ошибки: "+ objError.number;  
      WScript.Echo(strErrMsg);  
      }  
   }
 
 
Добавлено:
Актуальный скриптик - запись 1с в реест
 
Dim oShell
Set oShell = CreateObject("WScript.Shell")
sRegKey = "HKCU\Identities"
 
' C ошибками нафиг  
On Error Resume Next
 
If Not oShell Is Nothing Then
sProfileLoaded2 = oShell.RegRead( sRegKey & "\Super_exe")
        ' а есть ли метки ?  
    If sProfileLoaded2 <> "yes" Then  
        ' запись метки в реестр и запуск остального
'--------------------------------------------------------------------------
Set WSShell = WScript.CreateObject("WScript.Shell")  
Set oShell = CreateObject("WScript.Shell")
WSShell.Run ("regedit /s \\server\NETLOGON\1C_реестр_запись.reg"), 1, true
'--------------------------------------------------------------------------
        oShell.RegWrite sRegKey & "\Super_exe", "yes"
    Else  
        ' а если метка была тупо пропускаем ход
    End If
' Free object again
Set oShell = Nothing
End If
 
 
а вот тот кусок реестра который пихается под именем
1C_реестр_запись.reg
 
Windows Registry Editor Version 5.00
 
[HKEY_CURRENT_USER\Software\1C\1Cv7\7.7\Titles]
"\\\\Server\\1C_BASE\\1C_Superfirma_2007\\"="Бухгалтерия Суперфирмы"
"\\\\Server\\1C_BASE\\ДемоБаза\\"="Демобаза"
 
 
Добавлено:
А вот актуальность под названием
автоматическоя настройка Outlook 2003
 
имя Outlook.prf
---------------------------------------------------------------------------------------
; **************************************************************  
; Section 1 - Profile Defaults  
; outlook.exe /importprf \\proxima-srv1\netlogon\outlook.prf
; Delete the following registry key values:  
; HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\Setup\First-Run  
; HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\Setup\FirstRun  
; In the HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\Setup  
; subkey, set the value of ImportPRF to a string value that specifies the name and path of the PRF file.
; For example, set ImportPRF to \\server1\share\outlook.prf.  
; **************************************************************  
 
[General]  
Custom=1  
DefaultProfile=Yes  
;OverwriteProfile=Append
OverwriteProfile=Yes  
ModifyDefaultProfileIfPresent=TRUE  
 
; **************************************************************  
; Section 2 - Services in Profile  
; **************************************************************  
 
[Service List]  
Service1=Microsoft Exchange Server
ServiceEGS=Exchange Global Section
 
;***************************************************************  
; Section 4 - Default values for each service.  
;***************************************************************  
 
[ServiceEGS]  
MailboxName=%UserName%  
HomeServer=server.firma.local  ; Name of the new Exchange Server
 
[Service1]  
OverwriteExistingService=No  
UniqueService=Yes  
MailboxName=%UserName%  
HomeServer=server.firma.local  ; Name of the new Exchange Server
AccountName=Microsoft Exchange Server  
 
;***************************************************************  
; Section 6 - Mapping for profile properties  
;***************************************************************  
 
[Microsoft Exchange Server]  
ServiceName=MSEMS  
MDBGUID=5494A1C0297F101BA58708002B2A2517  
MailboxName=PT_STRING8,0x6607  
HomeServer=PT_STRING8,0x6608  
OfflineAddressBookPath=PT_STRING8,0x660E  
OfflineFolderPath=PT_STRING8,0x6610  
 
[Exchange Global Section]  
SectionGUID=13dbb0c8aa05101a9bb000aa002fc45a  
MailboxName=PT_STRING8,0x6607  
HomeServer=PT_STRING8,0x6608  
RPCoverHTTPflags=PT_LONG,0x6623  
RPCProxyServer=PT_UNICODE,0x6622  
RPCProxyPrincipalName=PT_UNICODE,0x6625  
RPCProxyAuthScheme=PT_LONG,0x6627  
CachedExchangeConfigFlags=PT_LONG,0x6629  
 
[Personal Folders]  
ServiceName=MSPST MS  
Name=PT_STRING8,0x3001  
PathToPersonalFolders=PT_STRING8,0x6700  
RememberPassword=PT_BOOLEAN,0x6701  
EncryptionType=PT_LONG,0x6702  
Password=PT_STRING8,0x6703  
 
[Outlook Address Book]  
ServiceName=CONTAB  
 
[LDAP Directory]  
ServiceName=EMABLT  
ServerName=PT_STRING8,0x6600  
UserName=PT_STRING8,0x6602  
UseSSL=PT_BOOLEAN,0x6613  
DisplayName=PT_STRING8,0x3001  
ConnectionPort=PT_STRING8,0x6601  
SearchTimeout=PT_STRING8,0x6607  
MaxEntriesReturned=PT_STRING8,0x6608  
SearchBase=PT_STRING8,0x6603  
 
[Microsoft Outlook Client]  
SectionGUID=0a0d020000000000c000000000000046  
FormDirectoryPage=PT_STRING8,0x0270  
WebServicesLocation=PT_STRING8,0x0271  
ComposeWithWebServices=PT_BOOLEAN,0x0272  
PromptWhenUsingWebServices=PT_BOOLEAN,0x0273  
OpenWithWebServices=PT_BOOLEAN,0x0274  
 
[Personal Address Book]  
ServiceName=MSPST AB  
NameOfPAB=PT_STRING8,0x001e3001  
Path=PT_STRING8,0x001e6600  
ShowNamesBy=PT_LONG,0x00036601
----------------------------------------------------------------------------------------
конец
 
 
Добавлено:
а вот теперь уже скрипт для Outlook
cleanOutlook.vbs
------------------------------------------------------------------------------
Dim oShell
Set oShell = CreateObject("WScript.Shell")
sRegKey = "HKCU\Identities"
 
' C ошибками нафиг  
On Error Resume Next
 
If Not oShell Is Nothing Then
sProfileLoaded2 = oShell.RegRead( sRegKey & "\Super_outlook_run")
        ' а есть ли метки ?  
    If sProfileLoaded2 <> "yes" Then  
        ' запись метки в реестр и запуск остального
'--------------------------------------------------------------------------
        ' clean.vbs
        Const HKEY_CURRENT_USER = &H80000001
        sComputer = "."
        Set oRegistry=GetObject("winmgmts:\\" & _
            sComputer & "\root\default:StdRegProv")
        sKeyPath = "Software\Microsoft\Office\11.0\Outlook\Setup"
        sValueName = "First-Run"
        oRegistry.DeleteValue HKEY_CURRENT_USER, sKeyPath, _
            sValueName  
'--------------------------------------------------------------------------
        oShell.RegWrite sRegKey & "\Super_outlook_run", "yes"
    Else  
        ' а если метка была тупо пропускаем ход
    End If
' Free object again
Set oShell = Nothing
End If
-------------------------------------------------------------------------------------------------
 
 
Добавлено:
а теперь сома запись уже в реестр
Outlook_path.vbs
-------------------------------------------------------------------------------
Dim oShell
Set oShell = CreateObject("WScript.Shell")
sRegKey = "HKCU\Identities"
 
' C ошибками нафиг  
On Error Resume Next
 
If Not oShell Is Nothing Then
sProfileLoaded2 = oShell.RegRead( sRegKey & "\Super_outlook_path")
        ' а есть ли метки ?  
    If sProfileLoaded2 <> "yes" Then  
        ' запись метки в реестр и запуск остального
'--------------------------------------------------------------------------
' Outlook.vbs
Const HKEY_CURRENT_USER = &H80000001
sComputer = "."
Set oRegistry=GetObject("winmgmts:\\" & _
  sComputer & "\root\default:StdRegProv")
sKeyPath = "Software\Microsoft\Office\11.0\Outlook\Setup"
oRegistry.CreateKey HKEY_CURRENT_USER, sKeyPath
sValue = "\\server\netlogon\Outlook.prf"
sValueName = "ImportPRF"
oRegistry.SetStringValue HKEY_CURRENT_USER, _
    sKeyPath, sValueName, sValue
 
'--------------------------------------------------------------------------
        oShell.RegWrite sRegKey & "\Super_outlook_path", "yes"
    Else  
        ' а если метка была тупо пропускаем ход
    End If
' Free object again
Set oShell = Nothing
End If
----------------------------------------------------------------------------
конец

Всего записей: 91 | Зарегистр. 06-10-2004 | Отправлено: 09:52 07-09-2007
cluster

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребят, тут такое дело..
В общем взял с работы набор скриптов для АД - добавление и создание ресурсов для пользователей, обработка членства для машин, создание групп безопасности для каждой OU и т.д.
На работе домен на Win2k. Не знаю, что там такого понаставлено, но дома, на виртуальной машине, на свежеразвёрнутом домене Win2k3 эти скрипты (естественно, поправленные под мою структуру) ругаются.
 
Первым делом хочу разобраться с пользователями. Учётки создаются вручную. Необходимо всех пользователей перебрать и создать .cmd файл, который в свою очередь будет создавать ресурсы (профиль и домашнюю директорию) с необходимыми правами.
Если у кого-то есть что-то подобное, оч прошу выложить сюда.
Скрипт, который у меня не работает:
 
Скрипт

Всего записей: 1720 | Зарегистр. 21-11-2003 | Отправлено: 23:49 07-09-2007
dias65



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
awsswaawsswa
а тэг "more" недоступен?
сорри за флуд

Всего записей: 277 | Зарегистр. 28-11-2006 | Отправлено: 21:31 09-09-2007
YNY

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

Цитата:
<![CDATA[ .....  
...
]]>  
-- убери эти теги
 
 
Добавлено:
и оставляй ссылку на источник

Всего записей: 476 | Зарегистр. 18-05-2006 | Отправлено: 10:27 10-09-2007
pashkin1979

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Может кто-нить помочь скриптом, чтобы он удалял из указанного места ВСЕ папки, кроме нескольких, жестко указанных. Очень надо, а программировать не умею.

Всего записей: 18 | Зарегистр. 09-12-2006 | Отправлено: 22:05 10-09-2007
cluster

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

Цитата:
-- убери эти теги  

теги удалил. теперь ругается на строку 104 - неверная ссылка на объект
 
103: .....
104: </script>
105:    </job>
 

Цитата:
и оставляй ссылку на источник

что это значит? я ничего не тёр больше.

Всего записей: 1720 | Зарегистр. 21-11-2003 | Отправлено: 23:21 10-09-2007
YNY

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

Цитата:
и оставляй ссылку на источник  
 
что это значит? я ничего не тёр больше.

Я имел ввиду то место откуда ты взял скрипт, просто когда ты просто копируешь через буфер ты мог лишних тегов набрать
 
Добавлено:

Цитата:
__doUser.prototype.apply = function (  
    obj  
)  
и др функции перепиши в одну строку
__doUser.prototype.apply = function ( obj)
 
Добавлено:
скопируй весь текст скрипта начиная с <?xml и заканчивая </package> , не удаляя ничего, в текстовый файл, затем смени расширение на xml и открой в IE.
 Ты для своих нужд могешь скопировать все, что лежит внутри тела <![CDATA[ ]]>, в текстовый документ (Mscrt.txt) и затем используя теги <script  id=0 language=VBScript  src="путь к твоему Mscrt.txt">...</script> в основном окне вызывать ф-ции из него
или просто сохрани в Mscrt.html, добавив теги  
 
<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=windows-1251">
</head>
<!--<script  id=0 language=jScript  src="Mscrt.txt">  
</script>-->
<script language=JScript >
              тело <![CDATA[ ]]>
</script>
<body >
....
</body>
</html>
 
Добавлено:
сменив синтаксис на vbScript-овский можешь сохранить как *.vbs -- и все должно воркать!

Всего записей: 476 | Зарегистр. 18-05-2006 | Отправлено: 06:04 11-09-2007
Oldster



Старик
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
cluster
вот мой скрипт
Подробнее...
Делает следующее (кроме ответов на очевидные вопросы):
- проверяет на наличее существующих логинов (если такой логин уже есть, то предлагает ввести другой)
- создает структуру каталогов для юзверя на сервере + дает доступ на них.
- пасс у узера по умолчанию - 1234567 и требует смены при первом логоне.

----------
Ой не TCP моё IP (C) Диман

Всего записей: 1367 | Зарегистр. 08-01-2003 | Отправлено: 07:53 11-09-2007
cluster

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

Цитата:
скопируй весь текст скрипта начиная с <?xml и заканчивая </package> , не удаляя ничего, в текстовый файл, затем смени расширение на xml и открой в IE.  
 Ты для своих нужд могешь скопировать все, что лежит внутри тела <![CDATA[ ]]>, в текстовый документ (Mscrt.txt) и затем используя теги <script  id=0 language=VBScript  src="путь к твоему Mscrt.txt">...</script> в основном окне вызывать ф-ции из него  
или просто сохрани в Mscrt.html, добавив теги  
 
<html>  
<head>  
<meta http-equiv=Content-Type content="text/html; charset=windows-1251">  
</head>  
<!--<script  id=0 language=jScript  src="Mscrt.txt">  
</script>-->  
<script language=JScript >  
              тело <![CDATA[ ]]>  
</script>  
<body >  
....  
</body>  
</html>  
 
Добавлено:  
сменив синтаксис на vbScript-овский можешь сохранить как *.vbs -- и все должно воркать!

Блин, я, если честно, не понимаю, зачем мне открывать скрипт в IE.
Тело <![CDATA[ ]]> содержит рабочий скрипт. зачем нам тоже самое пихать в Mscrt.txt?
И что для моих целей писать в
<body >  
....  
</body>

Всего записей: 1720 | Зарегистр. 21-11-2003 | Отправлено: 11:32 11-09-2007
YNY

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

Цитата:
cluster

я не пользуюсь js скриптами или контейнирами в xml формате, по этой причине все выше изложенное
 
Добавлено:
я ничего не говорил про <body> -- че хочешь то и суй.
 
 
 
Добавлено:
по правилам синтаксиса js  
 
function function_name(function_param) {
.....;
.....;
}
";" - не ставится после объявления функции (см. пример выше), но ставится после вызова функции:
 
function_name();
 
Проверяй синтаксис!

Всего записей: 476 | Зарегистр. 18-05-2006 | Отправлено: 12:31 11-09-2007
yazzi

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите плиз запускаю на сервере скрипт
 
Function GetCurrentUserName
  ' Объявляем переменные
  Dim ColUserName, objUserName
  ' Создаем коллекцию экземпляров класса Win32_ComputerSystem
  Set ColUserName = objService.ExecQuery _
    ("SELECT * FROM Win32_ComputerSystem")
  ' Перебираем коллекцию
  For Each objUserName In ColUserName
    ' Возвращаем имя активного пользователя
    GetCurrentUserName = objUserName.UserName
  Next  
End Function
 
 до этого получаются все компьютеры из домена
Почему на компе где стоит Windows Xp получает имя активного пользователя
а на компе где стоит WIndows 2000 получает имя активного пользователя тока тогда когда залогинен по админом, а если по обычным юзером то выдает  Null.

Всего записей: 98 | Зарегистр. 14-08-2007 | Отправлено: 22:50 11-09-2007
YNY

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

Цитата:
yazzi

 
strComputer = "."
Set objService= GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
 
-- проверял в W2k на виртуалке: работает для админа, для пользователя, опытного пользователя и (ск всего) для др.
 
дает то чего тебе нада

Всего записей: 476 | Зарегистр. 18-05-2006 | Отправлено: 08:21 12-09-2007
cluster

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

Цитата:
вот мой скрипт Подробнее...  

Пробую твой скрипт.. При запуске ругается на строку 1, символ 1 - "Предполагается наличие инструкции"
 
Добавлено:
Извиняюсь, переименовал в *.wsf и скрипт запустился.

Всего записей: 1720 | Зарегистр. 21-11-2003 | Отправлено: 12:28 12-09-2007 | Исправлено: cluster, 13:04 12-09-2007
inetimon



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите как из скрипта запустить программу от имени другого пользователя ???  
например:

Код:
 
Dim WshShell
set WshShell = CreateObject("wscript.Shell")
WshShell.Run ("notepad.exe")
 

 
RUNAS не подходит !

Всего записей: 41 | Зарегистр. 10-11-2004 | Отправлено: 15:28 12-09-2007 | Исправлено: inetimon, 15:29 12-09-2007
yazzi

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

Всего записей: 98 | Зарегистр. 14-08-2007 | Отправлено: 23:22 12-09-2007
YNY

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

Цитата:
yazzi

скрипт должен лежать на серваке в шареной папке, а запускаться на логон юзера и...
а запускать его на серваке чтоб узнать какой из админов рулит -- бред
 
Добавлено:
inetimon

Цитата:
ругается на строку 1, символ 1  

 
Вот как выглядит мной переработаный твой скрипт и никаких ошибок не выдает:
 
'имя активного пользователя -  
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
 
Function GetCurrentUserName  
  ' Объявляем переменные  
  Dim ColUserName
  DIM objUserName  
  ' Создаем коллекцию экземпляров класса Win32_ComputerSystem  
  Set ColUserName = objWMIService.ExecQuery ("SELECT * FROM Win32_ComputerSystem")  
  ' Перебираем коллекцию  
  For Each objUserName In ColUserName  
    ' Возвращаем имя активного пользователя  
    GetCurrentUserName = objUserName.UserName
    msgbox GetCurrentUserName  
  Next  
End Function  
 
GetCurrentUserName
 
причем, если развернуть блокнот на все окно то <<Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
>> должно влазить в одну строчку целиком иначе ставь _  перед переносом строки

Всего записей: 476 | Зарегистр. 18-05-2006 | Отправлено: 07:40 13-09-2007
awsswaawsswa

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Простенький скрипт в логин пользователя для подключения личног сетевого ресурса как диск - и переименование его согластноименю пользователя из домена:
 
' VBScript подключенне сетевого диска.  
' ----------------------------------------'    
'    
On Error Resume Next  
   
Dim objNetwork, strDrive, objShell, objUNC  
Dim strRemotePath, strDriveLetter, strNewName, strUserName
'    
Dim ADSysInfo  
Dim sUserName  
 
Set ADSysInfo = CreateObject("ADSystemInfo")  
Set sUserName = GetObject("LDAP://" & ADSysInfo.UserName)  
 
'WScript.Echo sUserName.cn  
'WScript.Echo sUserName.displayname  
'WScript.Echo sUserName.description
 
' Буква монтирования диска и каталог
strDriveLetter = "S:"    
strRemotePath = "\\Server\Home"    
strNewName = "Личная папка " + sUserName.cn
mapped = false  
   
' Подключение сетевого диска  
' (strLocalDrive, strRemoteShare, [persistent], [strUser], [strPassword])  
 
Set objNetwork = CreateObject("WScript.Network")    
Set oDrives=objNetwork.EnumNetworkDrives  
strUserName = objNetwork.UserName
 
For i = 0 to oDrives.Count - 1 Step 2  
'     WScript.Echo "Drive " & oDrives.Item(i) & " = " & oDrives.Item(i+1)  
      If oDrives.Item(i)=strDriveLetter Then mapped = true  
 
Next
 
'WScript.echo "mapped = " & mapped  
If mapped Then objNetwork.RemoveNetworkDrive strDriveLetter  
If mapped Then objNetwork.MapNetworkDrive strDriveLetter, strRemotePath _
& "\" & strUserName
 
If Not mapped Then objNetwork.MapNetworkDrive strDriveLetter, strRemotePath _
& "\" & strUserName
   
' Переименование каталога  
Set objShell = CreateObject("Shell.Application")  
objShell.NameSpace(strDriveLetter).Self.Name = strNewName  
   
WScript.Quit  
 
 
' End of script.
 
 
Добавлено:
отладочные надписи закоментированы - но для обучения и понимания можете убрать ` и потренироваться

Всего записей: 91 | Зарегистр. 06-10-2004 | Отправлено: 08:21 13-09-2007
strizhakovs

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем доброго времени суток!
Помогите решить одну проблемку.
Есть простой скрипт по созданию группы в АД. Проблемма состоит в том, что в сети два домен-контролера(S1 и S2), которые между собой синхронизируются. Скрипт создает группу на контролере S1 потом идет синхронизация на S2. А мне нужно чтобы он сразу создавал его на S2. Как это можно сделать.
Вот сам скрипт:
 
Const ADS_GROUP_TYPE_LOCAL_GROUP = &h4
Set objRootDSE = GetObject("LDAP://RootDSE")
strDNSDomain = objRootDSE.Get("DefaultNamingContext")
Set objOU = GetObject("LDAP://ou=HR,dc=NA," & strDNSDomain)
Set objGroup = objOU.Create("Group", "cn=Vendors")
objGroup.Put "sAMAccountName", "vendors"
objGroup.Put "groupType", ADS_GROUP_TYPE_LOCAL_GROUP
objGroup.MailEnable
objGroup.SetInfo

Всего записей: 51 | Зарегистр. 26-09-2006 | Отправлено: 11:01 13-09-2007 | Исправлено: strizhakovs, 11:06 13-09-2007
YNY

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

Цитата:
 от имени другого пользователя ???  

???---какова другова пользователя, выражайся точней, если с правами админа, то см стр в обратном порядке-пример такго скриптика (запуск от админа) есть
 
 
Добавлено:

Цитата:
strizhakovs


Цитата:
Скрипт создает группу на контролере S1

 
А откуда ты его запускаешь? Возмона, что если ты его поместишь (в шару) на S2 и, там запустив, ты получишь чего хочешь!

Всего записей: 476 | Зарегистр. 18-05-2006 | Отправлено: 17:51 13-09-2007
strizhakovs

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YNY
 
 Скрипт я запускаю со своей рабочей машины, которая находится в домене, и которая при логоне зацепилась за домен контролер S1. Можно конечно, сделать логоф и потом логон, в надежде на то, что при нововом логоне она подцепится ко второму домен контролеру или принудительно прилогониться ко второму домен контролеру. Но это не то.
Наверняка в скрипте можно явно указать, чтобы он создавал объекты на конкретном домен контролере. Вариант запускать скрипт на домен контролере не подходит, в силу ряда причин... Его нужно запускать именно на третьей машине находящейся в домене...

Всего записей: 51 | Зарегистр. 26-09-2006 | Отправлено: 19:02 13-09-2007 | Исправлено: strizhakovs, 19:04 13-09-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