anton04
![](http://forum.ru-board.com/board/avatars/zebra.gif)
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Xconn Цитата: "администратор" один, универсальный пароль при помощи политики. | Смена пароля Администратора для всех компьютеров в домене. Простенький скрипт, назначенный на событие startup в политиках домена, позволит нам централизованно менять пароль администратора на всех компьютерах в домене. @net user administrator "newpassword" Вместо administrator – подставляем реальный логин администратора. Вы же поменяли логин администратора? Не забываем дать права для чтения этого скрипта только компьютерам домена, но не пользователям! Пароль, как никак, открытым текстом в скрипте прописан. В принципе можно пойти дальше и для каждого компьютера в каждый конкретный день генерить новый пароль. Например пароль генерится из имени компьютера, дня недели и числа месяца. Что нибудь из 9-10 символов. Таким образом, при надобности мы можем сказать пользователю пароль админа на сегодняшний день, не боясь, что он будет им злоупотреблять длительное время. Конечно, не всех пользователй это касается. Или такой вариант: @net user administrator %1 и пароль подставляем в качестве аргумента скрипта в редакторе политик. Тогда можно не заморачиваться с правами. 1. cmd: @net user "Администратор" "пароль" 2. vbs: Код: Option Explicit Dim objComputer Dim objUser Dim strComputer Dim strUser Dim strpass Dim objSysInfo Dim arrFULLNAME Dim arrCN Set objSysInfo = CreateObject("ADSystemInfo") strComputer = objSysInfo.ComputerName arrFULLNAME = Split(strComputer, ",") arrCN = Split(arrFULLNAME(0), "=") strComputer = arrCN(1) strUser="Администратор" strpass="тут_пароль" set objUser = GetObject("WinNT://" & strComputer & "/" & strUser) objUser.Description = "пароль изменен при помощи скрипта" objUser.SetPassword strpass objUser.SetInfo | 3. vbs: Код: '========================================================================== ' ' VBScript Source File -- Created with SAPIEN Technologies PrimalScript 4.0 ' ' NAME: Change_Admin_Scrip.VBS ' ' AUTHOR: Коробко Иван ' DATE : 20.04.2006 ' ' COMMENT: ' Сценарий меняет пароль администратора локальной учетной записи ' администратора '========================================================================== Dim temp,i, pwd PWD = "987654321" i=1 on Error Resume Next en=Chr(13)+Chr(10) Set objArgs=Wscript.Arguments If Wscript.Arguments.Count=1 Then If strcomp(ucase(objArgs(0)),UCase("-Domain"))=0 Then mode=1 End If If strcomp(ucase(objArgs(0)),UCase("-Group"))=0 Then mode=2 End If If strcomp(ucase(objArgs(0)),UCase("-PC"))=0 Then mode=3 End If Else mode=0 End If Select Case mode Case 0 txt="ОПИСАНИЕ СКРИПТА:"+en+en+ _ " Скрипт предназначен для изменения пароля локальной учетной записи "+Chr(34)+"ADMINISTRATOR"+Chr(34)+ en+ _ "и переименования русской учетной записи "+Chr(34)+"АДМИНИСТРАТОР"+Chr(34)+ "в латинскую. Осуществляется пере-"+en+ _ "именование группы АДМИНИСТРАТОРЫ в ADMINSTRATORS. В зависимости от режима работы скрипт"+en+ _ "срабатывает на указанной рабочей станции или на всех компьютерах в текущем домене."+en+en+ _ "ПАРАМЕТРЫ КОМАНДНОЙ СТРОКИ:"+en+en+ _ " "+Chr(34)+"-PC"+Chr(34)+ " - изменение на всех включенных рабочих станциях" + en + _ " "+Chr(34)+"-Group"+Chr(34)+ " - изменение на рабочих станциях в группе" + en + _ " "+Chr(34)+"-Domain"+Chr(34)+ " - изменение на указанной рабочих станциях" + en +en + _ "ЗАМЕЧАНИЕ:"+en+en+_ " 1. Скрипт необходимо запускать с правами системного администратора"+en+ _ " 2. Группа должна иметь префикс PC$_" WScript.Echo txt Case 1 PWD=CStr(inputbox("Введите новый пароль локального администратора",,PWD)) Set objSysInfo = CreateObject("ADSystemInfo") domain=cstr(objSysInfo.DomainShortName) Set obj_comp = getobject("WinNT://" & domain) obj_comp.filter = Array("Computer") For Each Computer in obj_comp pcname=cstr(Computer.Name) make pcname Next Set obj_comp= Nothing 'WScript.Echo "Смена паролей в домене завершена" Case 2 pwd=CStr(inputbox("Введите новый пароль локального администратора",,PWD)) GROUPNAME = "PC$_group" GROUPNAME=CStr(inputbox("Введите имя группы, включая префикс",,GROUPNAME)) Set objSysInfo = CreateObject("ADSystemInfo") domain=cstr(objSysInfo.DomainShortName) Set obj_group= getobject("WinNT://" & domain &"/"&GROUPNAME) For Each pc in obj_group.members p=cstr(pc.name) pcname=Left(p,Len(p)-1) make pcname Next Set obj_group= Nothing HTML_Report 'WScript.Echo "Смена пароля на рабочей станциях группы " +ucase(GROUPNAME)+" завершена."+en Case 3 PWD=CStr(inputbox("Введите новый пароль локального администратора",,PWD)) PCNAME = "1230PC" PCNAME=CStr(inputbox("Введите имя рабочей станции",,PCNAME)) make pcname HTML_Report ' WScript.Echo "Смена пароля на рабочей станции " +ucase(pcname)+" завершена."+en+ _ End Select WScript.Echo "END" Function make(pcname) Set obj_user= getobject("WinNT://" & pcname) obj_user.filter = Array("user") For Each user in obj_user user_name=cstr(user.Name) t=t+user_name+Chr(13)+Chr(10) Next ' Rename USER (*)Администратор(*) RUS*-->*LAT If StrComp (UCase(user_name), UCase("Администратор"))=0 Then Set obj_user2= getobject("WinNT://" & pcname&"/Администратор,User") Set obj_user3= getobject("WinNT://" & pcname) Set q=obj_user3.movehere(obj_user2.adspath,"Administrator") Set obj_user2 = Nothing Set obj_user3 = Nothing ' Rename GROUP(*)Администраторы(*) RUS*-->*LAT Set obj_group2= getobject("WinNT://" & pcname&"/Администраторы,Group") Set obj_group3= getobject("WinNT://" & pcname) Set q=obj_group3.movehere(obj_group2.adspath,"Administrators") Set obj_group2 = Nothing Set obj_group3 = Nothing End If Set obj_user4= getobject("WinNT://" & pcname&"/Administrator,User") Call obj_user4.setpassword(PWD) Set obj_user4 = Nothing Set obj_user = Nothing temp=temp+"<tr><td>"+cstr(i)+"</td><td>"+CStr(pcname)+"</td><td>" Set obj_group4= getobject("WinNT://" & pcname&"/Administrators,Group") For Each pc in obj_group4.members temp=temp+CStr(pc.name)+"<br>" Next If Len(CStr(pc.name))>0 Then temp=temp+"</td>" Else temp=temp+"<b>OFFLINE</td>" End If i=i+1 Set obj_group4= Nothing End Function Sub HTML_Report Set FSO=CreateObject("Scripting.FileSystemObject") html_header="<Html><Title> Членство в локальной группе "+ group_anylize+" </Title><Body>" html_fooder="</Html>" table_header="<Center ><Table border=1 width=60%> "+ _ "<tr><td width=50 align=center><b>№</td>"+_ "<td width=300 align=center><b>Номер РС</td>"+_ "<td width=300 align=center><b>Объект</td></tr>" table_fooder="</Table>" report="report" data=html_header+table_header+title_page+temp+table_fooder+html_fooder Set MyFile1 = fso.CreateTextFile("c:\"+report+".htm", True, TRUE) MyFile1.WriteLine(data) MyFile1.Close set oIE=CreateObject("InternetExplorer.Application") With oIE .Left=100 .Top=100 .Height=400 .Width=800 .MenuBar=0 .Toolbar=0 .Statusbar=0 .Resizable=1 End With oIE.Navigate "c:\"+report+".htm" oIE.Visible=1 set oIE=Nothing End Sub |
| Всего записей: 2826 | Зарегистр. 14-06-2006 | Отправлено: 11:59 27-09-2011 | Исправлено: anton04, 12:00 27-09-2011 |
|