Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Windows NT/2000/2003 (http://forum.oszone.net/forumdisplay.php?f=5)
-   -   Централизованно меняем пароли локального системного администратора (http://forum.oszone.net/showthread.php?t=137205)

petro89 09-04-2009 14:16 1088849

Централизованно меняем пароли локального системного администратора
 
НА сайте Системный администратор была статья за 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 1088982

XS BAP allows you to import or manually enter each computer you want to manage

victor111 09-04-2009 16:23 1088988

Цитата:

Цитата petro89
Централизованно меняем пароли локального системного администратора »

меняем в домене ?????????? :closed-to

monkkey 09-04-2009 16:27 1088993

in your domain safely and securely.
Лень прочитать аннотацию?

victor111 09-04-2009 16:41 1089004

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

Цитата:

Цитата victor111
net eser admin 12345 »

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

monkkey 09-04-2009 16:51 1089013

victor111,
Да, конечно, и все пользователи знают пароль локального администратора.
Как изменить пароль пользователя из командной строки
Для того, чтобы изменить пароль пользователя, зарегистрируйтесь в системе под учетной записью администратора

victor111 09-04-2009 17:02 1089025

Цитата:

Цитата monkkey
Да, конечно, и все пользователи знают пароль локального администратора. »

с чего это вдруг они знают
батник применяется групповыми политиками !!!!!!!!!!!!!! :)

El Scorpio 10-04-2009 07:51 1089602

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

victor111 10-04-2009 08:21 1089631

Цитата:

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

если делать в домене лучше батник поместить в сценарий запуска
применяется при входе и пользователь :) вообще ничего не увидит и не узнает
главное имя админа :) политикой поменять чтобы у всех одинаковое было

monkkey 10-04-2009 11:45 1089784

victor111,
El Scorpio,
Еще раз прочитайте внимательно:
Цитата:

Цитата monkkey
Для того, чтобы изменить пароль пользователя, зарегистрируйтесь в системе под учетной записью администратора »

Пользователи НЕ СМОГУТ выполнить этот сценарий. Не считайте себя умнее создателей скриптов и программ для смены пароля администратора.

Telepuzik 10-04-2009 13:53 1089888

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

victor111 10-04-2009 18:10 1090204

Цитата:

Цитата monkkey
Пользователи НЕ СМОГУТ выполнить этот сценарий »

если ты администратор домена имеешь доступ к ActiveDirectory
тогда создаешь политику которая меняет имя локального админа и в этой политике указываешь батник,
который меняет пароль этого админа
повторяю для тех кто в танке !!!!!! :laugh: пользователь в этом случае не должен иметь никаких прав и
вообще не увидит и не узнает про то что на его компе изменилась учека админа и его пароль

Цитата:

Цитата monkkey
Не считайте себя умнее создателей скриптов и программ для смены пароля администратора »

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

victor111 10-04-2009 18:24 1090215

Вложений: 2
на скринах выдно по-моему куда надо ложить батник

Virtual 13-04-2009 12:49 1092672

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

monkkey 13-04-2009 15:01 1092775

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

victor111 13-04-2009 16:01 1092814

Цитата:

Цитата Virtual
одно но! что увидит пользователь набрав rsop.msc »

а почему пользователь должен это набирать???
можно вообще запретить пользователю истьльзовать консоль с помощью политик
Цитата:

Цитата Virtual
лучше батник хранить на сетевом ресурсе НЕДОСТУПНОМ пользователю »

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

Цитата:

Цитата monkkey
Старайтесь не нервничать и писать по-русски »

просто исправлять неохота было

victor111 13-04-2009 16:16 1092826

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

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

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

Virtual 14-04-2009 08:47 1093476

victor111,
Цитата:

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

Цитата:

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

:laugh:
не в обиду но просто неудержался тебя_ж процитировать

victor111 15-04-2009 15:24 1094754

Цитата:

Цитата Virtual
лучше батник хранить на сетевом ресурсе НЕДОСТУПНОМ пользователю »

ну на кой ресурс должен быть сетевым если он не доступен ?????????
я вообще батники закидываю в папки где лежат сами политики

Virtual 17-04-2009 06:58 1096401

victor111,
через строчку читаем?

Цитата:

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


advin 05-05-2009 11:32 1111103

А можно еще сделать вот так :wink:
Берем отсюда утилитку от Марка Руссиновича.

Цитата:

Using PsPasswd You can use PsPasswd to change the password of a local or domain account on the local or a remote computer.
usage: pspasswd [[\\computer[,computer[,..] | @file [-u user [-p psswd]]] Username [NewPassword]
computer Perform the command on the remote computer or computers specified. If you omit the computer name the command runs on the local system, and if you specify a wildcard (\\*), the command runs on all computers in the current domain.
@file Run the command on each computer listed in the text file specified.

-u Specifies optional user name for login to remote computer.

-p Specifies optional password for user name. If you omit this you will be prompted to enter a hidden password.

Username Specifies name of account for password change.

NewPassword New password. If ommitted a NULL password is applied.
Как это сделать на практике, для тех кто в танке.

pspasswd \\компьютер_1 -u user -p psswd Username NewPassword
pspasswd \\компьютер_n -u user -p psswd Username NewPassword

компьютер_1,компьютер_n - список компьютеров, либо IP адресов
-u - имя администратора домена.
-p - пароль администратора домена.
Username - имя локального администратора
NewPassword - пароль локального администратора

pspasswd \\192.168.0.1 -u Admin -p Parol Администратор Пароль
pspasswd \\192.168.0.2 -u Admin -p Parol Администратор Пароль
pspasswd \\192.168.0.N -u Admin -p Parol Администратор Пароль

zosa 15-07-2009 12:18 1168147

Всем привет
Есть вопрос, так и не понял, так куда прятать скрипт от пользователей, в папку с политиками не пойдет ведь пользователь видит папку SYSVOL ????!!
Или я не прав ?

victor111 15-07-2009 12:26 1168164

ну во первых разве все пользователи такие грамотные ?
во вторых лучше имя админа сменить на другое через ГПО

zosa 15-07-2009 12:34 1168172

И толку, не ужели они не могут узнать его имя ????
Получается, скрипт будет доступен все же всем пользователям ??? И они смогут прочитать пароль который установлен ?
Я б за такое сразу уволил того, кто это сделал ((

victor111 15-07-2009 12:34 1168173

так надежнее
если будет постянно работать пропишет на все компы в домене
ну а если есть грамотеи то они и с диска смогут если что загрузиться
zosa, чем вариант с SYSVOL неустраивает?
часто SYSVOL кто то лазит ?

zosa, вообще есть программы типа Ideal Administration или еще проще через MMC - управление ПК
но там сидишь и ручками забиваешь новые пароли на каждый ПК и если кто то умный их поменяет ты даже и не узнаешь

можно через Admin toys

Цитата:

Цитата zosa
Я б за такое сразу уволил того, кто это сделал (( »

ну и как ты сделал ????????????????????????????

zosa 15-07-2009 12:49 1168193

Я потому и написал, что полагал есть решение выполнения скрипта но при это м его не доступности простым пользователям, про MMC ежу известно ))))
А теперь представь что ктото в корп сети все же найдет твой пароль и снесет к примеру данные ген директора, а, как тебе ?
Да можно выделить отдельно компьютеры так называемой 1 категории , но управление от этого не упростится (((

victor111 15-07-2009 12:56 1168199

Цитата:

Цитата zosa
к примеру данные ген директора »

поставь у гд фаерфол сеть то большая ?
у нас для особо опасных стоит запрет на уровле коммутатора
для гд можно и другой пароль сделать ручками

http://www.oszone.net/8755/IPsec_Ser...ws-Server_2008
посмотри эту тему

zosa, других очень надежных решений пока нет и врятли найдешь
если найдешь то это будет применятся нецетрализовано

zosa 15-07-2009 13:06 1168214

Виктор, это пока мысли вслух, потому сильно не принимай на свой счет, решение хорошее но полагаю , его можно рассматривать только как временное или разовое
По твоему предложению полагаю такое решение, все что ты предлагаеш, да , но с добавками
1. Пишем скрипт с обработчиком ошибки, на наличие отсутствие фалы по пути
2. Пр необходимости кидаем файл например \\serv\priv$\restpass.bat или VBS , кто на чем пишет ))) и убираем его через определенное время
3. При необходимости смены просто добавляем файл по указанному пути в скрипте

Свой вариант еще думаю, пока только мысли но и они есть
Написать не скрипт а на VB прогу, или EXELL файл с запоролленым скриптом и его выполнять
Вот это уже решение по моему )))

Надо еще подумать, кому интересно, отпишу результат позже, как раз этим и занят, достали "умники" в сети

Это не решение в рамках корпоративной сети, пользователи могут перемещаться по предприятию, садится за другие станции, при этом им это может быть необходимо (отпадает вариант логона на конкретных станциях)
Потому Вижу выход 1 в данный момент, сделать запороленный EXELL с скриптом смены пароля или написать прогу самому по смене пароля и ее выполнять при логоне станции, при этом EXE можно выложить хоть в паблик, результирующий его выполнения будет один, сброс пароля на тебе известный, Вариант ?
Брандмауэр на клиенте также не вариант, количество станций порядка 700 из них участвуют в бизнесе предприятия порядка 200 все будешь настраивать ? Тогда смысл централизованного управления ?

victor111 15-07-2009 13:19 1168229

есть вариант такой
делаешь ГПО
батник с паролем помещаешь в политику старта компьютера.
а на вкладке безопасность добавляешь всех пользавателей и ставишь запрет
будет работать не знаю но попробовать надо
доступ у пользователя к этой политике отсутствует и пароль посмотреть он не сможет
а батник по идее должен примениться на комп :)
zosa, можешь попробовать может такой вариант тебя устроит

zosa 15-07-2009 14:16 1168328

Твой варинат тоже имеет возможность "жить"
Но, Все же, реализовал по своему варианту, эт надежней,в крупной корп сети, тем более что бывают варианты необходимо давать права админа нект пользователям
Выполнение моего вариант позволит от части думать об этой проблеме по меньше ))
Всем спасибо и Удачи

azhur 16-07-2009 07:00 1169004

Можно попробовать побаловаться с Microsoft Script Encoder.
http://www.microsoft.com/downloads/d...displaylang=en
Шифрование там простецкое, ключ как я понял - постоянный,
но от невооруженного взгляда новый пароль админа защитить - хватит.

Virtual 16-07-2009 13:31 1169363

Цитата:

Цитата victor111
есть вариант такой
делаешь ГПО
батник с паролем помещаешь в политику старта компьютера.
а на вкладке безопасность добавляешь всех пользавателей и ставишь запрет
будет работать не знаю но попробовать надо »

мой пост №14 этой темы ;)
все правильно, работать будет
1. запуск скрипта из политики компа
2. доступ на шару со скриптом, группе "*Компьютеры домена"

zosa 16-07-2009 15:27 1169459

Что то логова кипит уже ((
VBS скрипт не отрабатывает , батник простой работает
И хотел еще загнать скрипт с установкой msi пакетов тоже не идет
пишет отказано в доступе, никто не сталкивался с таким ?
Под админом все запускается локально на ура ((((

victor111 16-07-2009 17:13 1169586

Вложений: 1
Вот кому надо читаем. нарыл из учебника + скрипт прилагается

Скрипт ChangeLocalPassword.wsf позволяет вам указывать один или несколько компьютеров. Чтобы применить этот скрипт для одного удаленного компьютера с именем Server А и изменить пароль для учетной записи Administrator, нужно использовать следующий код:
ChangeLocalPassword.wsf /computer:ServerA /user:Administrator / password: Новый_пароль
Вы можете также указать список компьютеров, содержащийся в текстовом файле. В каждой строке этого текстового файла указывается имя одного компьютера и никакой другой информации. Предполагая, что файл имеет имя C:\Computers.txt, нужно использовать следующий синтаксис: ChangeLocalPassword.wsf /list:C:\Computers.txt/user:Administrator /password:Новый_ пароль
И, наконец, вы можете указать целое подразделение (organizational" unit, OU) с учетными записями компьютеров. Если ваш домен содержит OU с именем West, то нужно использовать следующий синтаксис:
ChangeLocalPassword.wsf /containenwest /usenAdministrator / password: Новый_пароль
Отметим, что параметр /container будет действовать только в домене по умолчанию компьютера, на котором запускается этот скрипт. Иначе говоря, указанное OU должно находиться в том же домене, что и компьютер, на котором выполняется этот скрипт. Если указанное OU имеет вложенные OU, то вы можете также включить учетные записи их компьютеров с помощью одного дополнительного параметра:
ChangeLocalPassword.wsf /containenwest /recurse /usenAdministrator /password: Новый_пароль

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

victor111 16-07-2009 17:18 1169597

нашел ошибки испраленое ниже

ChangeLocalPassword.wsf /container:west /user:Administrator / password: Новый_пароль

ChangeLocalPassword.wsf /container:west /recurse /user:Administrator /password: Новый_пароль


Время: 20:07.

Время: 20:07.
© OSzone.net 2001-