Отключение пользователя из группы админов на удаленной машине
I need do something like this code
Код:
strUser = "myUser"
strComputer = "myremoteComuter"
strPassword = "myPassword_"
Set objUser = GetObject("WinNT://" & strComputer & "/" & strUser & ",user",strUser,strPassword)
If Err.Number = 0 Then
objUser.AccountDisabled = true
objUser.SetInfo
End If
But there is not such methods GetObject that takes 3 parameters.
|
andDaviD, напишите то же самое, но по-русски.
|
Мне необходимо выполнить следующий код:
Код:
strUser = "myUser"
strComputer = "myremoteComuter"
strPassword = "myPassword_"
Set objUser = GetObject("WinNT://" & strComputer & "/" & strUser & ",user",strUser,strPassword)
If Err.Number = 0 Then
objUser.AccountDisabled = true
objUser.SetInfo
End If
Но не существует метода GetObject, который принимает 3 параметра. как мне подключиться к удаленной машине и отключить аккаунт пользователя?
|
да, похоже это то, что я ищу. только у меня вылетает ошибка на строке
Код:
Set objIADSUser = objIADS.GetObject("user", strClientUsername)
"Не найден сетевой путь". Хотя путь есть. Не знаете с чем связано?
|
andDaviD, мне сейчас сложно сказать — нет доступа ни к сети, ни к домену. Для локальной машины работает:
Код:
Option Explicit
Const ADS_SECURE_AUTHENTICATION = &H01
Dim strComputer
Dim strAdminUserName
Dim strAdminPassword
Dim strUserName
Dim objIADsNamespace
Dim objIADsComputer
Dim objIADsUser
strComputer = "MyComputer,computer"
strAdminUserName = "Администратор"
strAdminPassword = "MyPassword"
strUserName = "AdminUser"
Set objIADsNamespace = GetObject("WinNT:")
Set objIADsComputer = objIADsNamespace.OpenDSObject("WinNT://" & strComputer, strAdminUserName, strAdminPassword, ADS_SECURE_AUTHENTICATION)
Set objIADsUser = objIADsComputer.GetObject("user", strUserName)
objIADsUser.AccountDisabled = True
objIADsUser.SetInfo
Set objIADsUser = Nothing
Set objIADsComputer = Nothing
Set objIADsNamespace = Nothing
WScript.Quit 0
Или, короче:
Код:
Option Explicit
Const ADS_SECURE_AUTHENTICATION = &H01
Dim strComputer
Dim strAdminUserName
Dim strAdminPassword
Dim strUserName
strComputer = "MyComputer,computer"
strAdminUserName = "Администратор"
strAdminPassword = "MyPassword"
strUserName = "AdminUser"
With GetObject("WinNT:").OpenDSObject( _
"WinNT://" & strComputer, strAdminUserName, strAdminPassword, ADS_SECURE_AUTHENTICATION _
).GetObject("user", strUserName)
.AccountDisabled = True
.SetInfo
End With
WScript.Quit 0
|
Спасибо. Разобрался. У меня так заработало:
Код:
strNTDomain = "david"
strAdminUsername = "R"
strAdminPassword = "100200300Aa_"
strClientUsername = "Bala"
strOldPassword = "100200300Aa__"
strNewPassword = "100200300Aa_"
Set objIADSUser = GetObject("WinNT:").OpenDSObject("WinNT://david/" & strClientUsername & ",user", strAdminUsername ,strAdminPassword , ADS_SECURE_AUTHENTICATION)
objIADSUser.ChangePassword strOldPassword,strNewPassword
objIADSUser.SetInfo
Осталось это к C# прилепить.Но это уже другая история )
|
Время: 17:30.
© OSzone.net 2001-