PDA

Показать полную графическую версию : Централизованно меняем пароли локального системного администратора


Страниц : [1] 2

petro89
09-04-2009, 14:16
НА сайте Системный администратор (http://samag.ru) была статья за 06 год http://www.samag.ru/source/source6(43).txt
Централизованно меняем пароли локального системного администратора
от Ивана Коробко
Вот код

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="ТЕКСТ СПРАВКИ"
WScript.Echo txt

Case 1


End Select


' Определение списка локальных пользователей
' на компьютере
Set obj_user= getobject("WinNT://" & pcname)
obj_user.filter = Array("user")
For Each user in obj_user
user_name= user_name +cstr(user.Name)
Next

' Переименование русского (*)Администратор(*)
' в латинское

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
End If


Set obj_user4= getobject("WinNT://" & pcname&"/Administrator,User")
Call obj_user4.setpassword(PWD)
Set obj_user4 = Nothing


Dim PWD
PWD = "987654321"

Select Case mode


Case 3

PWD=CStr(inputbox("Введите новый пароль локального администратора",,PWD))

PCNAME = "1230PC"
PCNAME=CStr(inputbox("Введите имя рабочей станции",,PCNAME))

' вызов функции изменения имен и назначения нового пароля
make pcname

End Select


Dim PWD
PWD = "987654321"
Select Case mode


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


End Select


Set objSysInfo = CreateObject("ADSystemInfo")
domain=cstr(objSysInfo.DomainShortName)


Case 1


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



Set FSO=CreateObject("Scripting.FileSystemObject")
Set MyFile1 = fso.CreateTextFile("c:\"+report+".htm", True, TRUE)

MyFile1.WriteLine(data)
MyFile1.Close


Path=c:\report.htm

set oIE=Wscript.CreateObject("InternetExplorer.Application")
With oIE
.Left=100
.Top=100
.Height=400
.Width=400
.MenuBar=0
.Toolbar=0
.Statusbar=0
.Resizable=1
End With
oIE.Navigate Path
oIE.Visible=1

Запустил "pass.vbs -pc." Но что-то не работает вовсе. Ну к примеру в коде в некоторых местах стоят .... компилятор vbs ругается на них. Убрал. Потом стал ругаться на строку 73, символ 5. Имя переопределено. А это Dim PWD. Помогите разобраться со скриптом.

monkkey
09-04-2009, 16:19
XS BAP allows you to import or manually enter each computer you want to manage (http://www.avianwaves.com/Tech/Tools/XS_BAP/)

victor111
09-04-2009, 16:23
Централизованно меняем пароли локального системного администратора »
меняем в домене ?????????? :closed-to

monkkey
09-04-2009, 16:27
in your domain safely and securely.
Лень прочитать аннотацию?

victor111
09-04-2009, 16:41
если домен, тогда политикой меняем имя локального админа на любое другое типа admin
и батник в заугузку net eser admin 12345 и все
это по-моему самый простой способ

net eser admin 12345 »
извеняюсь
net user admin 12345

monkkey
09-04-2009, 16:51
victor111,
Да, конечно, и все пользователи знают пароль локального администратора.
Как изменить пароль пользователя из командной строки (http://support.microsoft.com/kb/149427)
Для того, чтобы изменить пароль пользователя, зарегистрируйтесь в системе под учетной записью администратора

victor111
09-04-2009, 17:02
Да, конечно, и все пользователи знают пароль локального администратора. »
с чего это вдруг они знают
батник применяется групповыми политиками !!!!!!!!!!!!!! :)

El Scorpio
10-04-2009, 07:51
А лучше так "@net user admin 12345", чтобы сама команда не выводилась.
И разрешить пользователям только запуск файла - без просмотра

victor111
10-04-2009, 08:21
А лучше так "@net user admin 12345", чтобы сама команда не выводилась.
И разрешить пользователям только запуск файла - без просмотра »
если делать в домене лучше батник поместить в сценарий запуска
применяется при входе и пользователь :) вообще ничего не увидит и не узнает
главное имя админа :) политикой поменять чтобы у всех одинаковое было

monkkey
10-04-2009, 11:45
victor111,
El Scorpio,
Еще раз прочитайте внимательно:
Для того, чтобы изменить пароль пользователя, зарегистрируйтесь в системе под учетной записью администратора »
Пользователи НЕ СМОГУТ выполнить этот сценарий. Не считайте себя умнее создателей скриптов и программ для смены пароля администратора.

Telepuzik
10-04-2009, 13:53
Можно воспользоваться утилитой psexec
Создать файлик содержащий имена компьютеров на которых необходимо сменить пароль.
С рабочей машины администратора с правами Администратора домена выполнить команду:
psexec @c:\comp.txt net user Администратор 12345678

victor111
10-04-2009, 18:10
Пользователи НЕ СМОГУТ выполнить этот сценарий »
если ты администратор домена имеешь доступ к ActiveDirectory
тогда создаешь политику которая меняет имя локального админа и в этой политике указываешь батник,
который меняет пароль этого админа
повторяю для тех кто в танке !!!!!! :laugh: пользователь в этом случае не должен иметь никаких прав и
вообще не увидит и не узнает про то что на его компе изменилась учека админа и его пароль

Не считайте себя умнее создателей скриптов и программ для смены пароля администратора »
я не умный, я просто администрирую сервера и знаю в отличии от некоторых что можно сделать с помощью
групповых политик. мануал читать надо чаще :read: .

victor111
10-04-2009, 18:24
на скринах выдно по-моему куда надо ложить батник

Virtual
13-04-2009, 12:49
victor111, одно но! что увидит пользователь набрав rsop.msc ? ;)
так что, как минимум, лучше батник хранить на сетевом ресурсе НЕДОСТУПНОМ пользователю, а доступному только учетке компа. и соответственно чтоб в скрипте было чтот вроеде этого
cmd /c \\srv\privat\batnik.cmd
а не так ;)
net.exe user Administrator superpuperpass

monkkey
13-04-2009, 15:01
victor111,
Старайтесь не нервничать и писать по-русски ( вИдно и класть ).
Спасибо за скриншоты. Вы открыли мне тайну.

victor111
13-04-2009, 16:01
одно но! что увидит пользователь набрав rsop.msc »
а почему пользователь должен это набирать???
можно вообще запретить пользователю истьльзовать консоль с помощью политик
лучше батник хранить на сетевом ресурсе НЕДОСТУПНОМ пользователю »

ну если ты это сделаешь он точно не применится :laugh:
я не думаю что все пользователи такие умные в этом деле, им по-моему есть чем заниматься на рабочих местах :type: :type:

Старайтесь не нервничать и писать по-русски »
просто исправлять неохота было

victor111
13-04-2009, 16:16
Virtual, могу сказать только одно если пользователь просто работает то он вообже ничего не увидит и не узнает про смену учетки и пароля
ну а если среди пользователей юные хакеры это тоже не проблема
1. запрещаем запуск всего что связано с администрированием
2. вход в систему только после инициализации сети
3. создаем политику кто может быть админом на клиентских машинах
4. запретить вход с локальной учеткой, только с доменной

в итоге даже при сбросе пароля админа (при загрузке с диска) вход без сети невозможен а если сеть работает должны сработать групповые политики и пароль снова и снова не будет давать хулиганить всяким разным

можно даже в батнике пароль иногда менять и он будет меняться на всех машинах

Virtual
14-04-2009, 08:47
victor111, Цитата Virtual:лучше батник хранить на сетевом ресурсе НЕДОСТУПНОМ пользователю » ну если ты это сделаешь он точно не применится я не думаю что все пользователи такие умные в этом деле, им по-моему есть чем заниматься на рабочих местах
фигасе ;) еще как применится. сам так рулю, и давно, ;)
как раз на твоих скриншотах это хорошо видно, скрипты выполнятся от 2х пользователей
1 скрин это kompname$ //и выполнится независимо залогинится кто нить из живых или нет, тоесть тут логинится комп в домен
2 скрин это username //скрипт аналог авторана для пользователя.

я не умный, я просто администрирую сервера и знаю в отличии от некоторых что можно сделать с помощью
групповых политик. мануал читать надо чаще . »
:laugh:
не в обиду но просто неудержался тебя_ж процитировать

victor111
15-04-2009, 15:24
лучше батник хранить на сетевом ресурсе НЕДОСТУПНОМ пользователю »
ну на кой ресурс должен быть сетевым если он не доступен ?????????
я вообще батники закидываю в папки где лежат сами политики

Virtual
17-04-2009, 06:58
victor111,
через строчку читаем?

НЕДОСТУПНОМ пользователю, а доступному только учетке компа »




© OSzone.net 2001-2012