NetJoinDomain
Начитался MSDN, написал программу. Цель: перевод компьютеров из домена в рабочую группу. Код ниже
Declare Function NetJoinDomain Lib "NETAPI32.DLL" (ByVal lpServer As String, ByVal lpDomain As String, ByVal lpAccountOU As String, ByVal lpAccount As String, ByVal lpPassword As String, ByVal fJoinOptions As Long) As Long
Public Function SetWKGrpWithAPI(WorkGroupName As String)
'This function joins a Windows 2000/XP workstation to a workgroup.
'It wraps the NetJoinDomain API from NETAPI32.DLL. This API is
'only available from Windows 2000 and will not work for Windows NT4.0.
Dim NullTerminatedWkGrpName As String
Dim I As Integer
'Insert a vbnullchar character after each character in the workgroup name.
'Failure to insert the vbnullchar characters may lead to corrupted
'workgroup names.
For I = 1 To Len(WorkGroupName)
NullTerminatedWkGrpName = NullTerminatedWkGrpName & Mid(WorkGroupName, I, 1) & vbNullChar
Next
SetWKGrpWithAPI = NetJoinDomain("", NullTerminatedWkGrpName, "", "", "", 0)
End Function
Вызов: call SetWKGrpWithAPI("WORKGROUP")
Если не указывать NETSETUP_JOIN_DOMAIN (0) в fJoinOptions машина должна лезть в рабочую группу. Короче, не работает, вылезает ошибка
netsetup.log пишет:
02/20 15:47:17 NetpDoDomainJoin
02/20 15:47:17 NetpMachineValidToJoin: 'TOSHIBA'
02/20 15:47:17 NetpGetLsaPrimaryDomain: status: 0x0
02/20 15:47:17 NetpMachineValidToJoin: the specified machine is already joined to 'MYDOMEN'!
02/20 15:47:17 NetpMachineValidToJoin: status: 0xa83
02/20 15:47:17 NetpDoDomainJoin: status: 0xa83
Есесно, привилегии все имеются.
Помогите солюшеном по данному вопросу.
Начитался MSDN, написал программу. Цель: перевод компьютеров из домена в рабочую группу. Код ниже
Declare Function NetJoinDomain Lib "NETAPI32.DLL" (ByVal lpServer As String, ByVal lpDomain As String, ByVal lpAccountOU As String, ByVal lpAccount As String, ByVal lpPassword As String, ByVal fJoinOptions As Long) As Long
Public Function SetWKGrpWithAPI(WorkGroupName As String)
'This function joins a Windows 2000/XP workstation to a workgroup.
'It wraps the NetJoinDomain API from NETAPI32.DLL. This API is
'only available from Windows 2000 and will not work for Windows NT4.0.
Dim NullTerminatedWkGrpName As String
Dim I As Integer
'Insert a vbnullchar character after each character in the workgroup name.
'Failure to insert the vbnullchar characters may lead to corrupted
'workgroup names.
For I = 1 To Len(WorkGroupName)
NullTerminatedWkGrpName = NullTerminatedWkGrpName & Mid(WorkGroupName, I, 1) & vbNullChar
Next
SetWKGrpWithAPI = NetJoinDomain("", NullTerminatedWkGrpName, "", "", "", 0)
End Function
Вызов: call SetWKGrpWithAPI("WORKGROUP")
Если не указывать NETSETUP_JOIN_DOMAIN (0) в fJoinOptions машина должна лезть в рабочую группу. Короче, не работает, вылезает ошибка
netsetup.log пишет:
02/20 15:47:17 NetpDoDomainJoin
02/20 15:47:17 NetpMachineValidToJoin: 'TOSHIBA'
02/20 15:47:17 NetpGetLsaPrimaryDomain: status: 0x0
02/20 15:47:17 NetpMachineValidToJoin: the specified machine is already joined to 'MYDOMEN'!
02/20 15:47:17 NetpMachineValidToJoin: status: 0xa83
02/20 15:47:17 NetpDoDomainJoin: status: 0xa83
Есесно, привилегии все имеются.
Помогите солюшеном по данному вопросу.