Click here to Skip to main content
15,879,326 members
Home / Discussions / Visual Basic
   

Visual Basic

 
GeneralRe: Web interface to access application Pin
waner michaud26-Feb-13 6:54
waner michaud26-Feb-13 6:54 
AnswerRe: Web interface to access application Pin
Eddy Vluggen26-Feb-13 9:25
professionalEddy Vluggen26-Feb-13 9:25 
QuestionListbox String to RichTextbox. Help Please! Pin
Gray_Ang3l22-Feb-13 17:14
Gray_Ang3l22-Feb-13 17:14 
AnswerRe: Listbox String to RichTextbox. Help Please! Pin
Richard MacCutchan22-Feb-13 23:21
mveRichard MacCutchan22-Feb-13 23:21 
AnswerRe: Listbox String to RichTextbox. Help Please! Pin
Flintstone-Fred24-Feb-13 13:24
Flintstone-Fred24-Feb-13 13:24 
GeneralRe: Listbox String to RichTextbox. Help Please! Pin
Gray_Ang3l24-Feb-13 13:29
Gray_Ang3l24-Feb-13 13:29 
QuestionMessage Removed Pin
22-Feb-13 11:13
DougsSoftware22-Feb-13 11:13 
QuestionActive Directory Users OU Pin
dsj4122-Feb-13 8:14
dsj4122-Feb-13 8:14 
I'm trying to move disabled accounts in my active directory users OU. I'm getting a error message that says

Error: There is no such object on the server
Code: 80040E37
Source: Active Directory

I created a Test OU on the same level in active directory and I'm not having the same problem. Things work fine.
Error says it's from this line:

Set objRecordset = ObjCommand.Execute

Here's the code I'm using.

*************CODE*************
' Set Flag to enable the disabling and moving of unused accounts otherwise create
' log of accounts affected
' 1 - Will Disable and move accounts
' 0 - Will create ouput log only
bDisable=1


' Accounts that haven't been logged in for this amount of days are selected
iLogonDays=60

' LDAP Location of OUs to search for accounts
' LDAP location format eg: "OU=Users,OU=Test"
strSearchOU="OU=Users"

' Search depth to find users
' Use "OneLevel" for the specified OU only or "Subtree" to search all child OUs as well.
strSearchDepth="OneLevel"


' Location of new OU to move disabled user accounts to
' eg: "OU=Disabled_Accounts,OU=Test"
strNewOU="OU=Disabled_Accounts"

' Log file and error log file path
strLogPath=".\logs\"
' Error log file name appended with date and .err extension)
strErrorLog="DisabledAccounts_"
' Output log file name with date and .log extension)
strOutputLog="DisabledAccounts_"

sDate = Year(Now()) & Right("0" & Month(Now()), 2) & Right("0" & Day(Now()), 2)
Set oFSO=CreateObject("Scripting.FileSystemObject")
If Not oFSO.FolderExists(strLogPath) Then CreateFolder(strLogPath)
Set output=oFSO.CreateTextFile(strLogPath & strOutputLog & sDate & ".log")
Set errlog=oFSO.CreateTextFile(strLogPath & strErrorLog & sDate & ".err")
output.WriteLine "Sam Account Name" &vbTab& "LDAP Path" &vbTab& "Last Logon Date" &vbTab& _
"Date Created" &vbTab& "Home Directory"
errlog.WriteLine "Sam Account Name" &vbTab& "LDAP Path" &vbTab& "Problem" &vbTab& "Error"

Set rootDSE = GetObject("LDAP://rootDSE")
Set objConnection = CreateObject("ADODB.Connection")
objConnection.Open "Provider=ADsDSOObject;"
Set ObjCommand = CreateObject("ADODB.Command")
ObjCommand.ActiveConnection = objConnection
ObjCommand.Properties("Page Size") = 10
DSEroot=rootDSE.Get("DefaultNamingContext")

Set objNewOU = GetObject("LDAP://" & strNewOU & "," & DSEroot)
ObjCommand.CommandText = "<ldap: "="" &="" strsearchou="" ","="" dseroot="" _
"="">;(&(objectClass=User)(objectcategory=Person));adspath;" & strSearchDepth

Set objRecordset = ObjCommand.Execute

On Error Resume Next

While Not objRecordset.EOF
LastLogon = Null
intLogonTime = Null

Set objUser=GetObject(objRecordset.fields("adspath"))

If DateDiff("d",objUser.WhenCreated,Now) > iLogonDays Then
Set objLogon=objUser.Get("lastlogontimestamp")
If Err.Number <> 0 Then
WriteError objUser, "Get LastLogon Failed"
DisableAccount objUser, "Never"
Else
intLogonTime = objLogon.HighPart * (2^32) + objLogon.LowPart
intLogonTime = intLogonTime / (60 * 10000000)
intLogonTime = intLogonTime / 1440
LastLogon=intLogonTime+#1/1/1601#

If DateDiff("d",LastLogon,Now) > iLogonDays Then
DisableAccount objUser, LastLogon
End If
End If
End If
WriteError objUser, "Unknown Error"
objRecordset.MoveNext
Wend

Sub CreateFolder( strPath )
If Not oFSO.FolderExists( oFSO.GetParentFolderName(strPath) ) Then Call _
CreateFolder( oFSO.GetParentFolderName(strPath) )
oFSO.CreateFolder( strPath )
End Sub

Sub DisableAccount( objUser, lastLogon )
On Error Resume Next
If bDisable <> 0 Then
If objUser.accountdisabled=False Then
objUser.accountdisabled=True
objUser.SetInfo
WriteError objUser, "Disable Account Failed"
objNewOU.MoveHere objUser.adspath, "CN="&objUser.CN
WriteError objUser, "Account Move Failed"
Else
Err.Raise 1,,"Account already disabled. User not moved."
WriteError objUser, "Disable Account Failed"
End If
End If
output.WriteLine objUser.samaccountname &vbTab& objUser.adspath &vbTab& lastLogon &vbTab& _
objUser.whencreated &vbTab& objUser.homedirectory
End Sub

Sub WriteError( objUser, strProblem )
If Err.Number <> 0 Then
errlog.WriteLine objUser.samaccountname &vbTab& objUser.adspath &vbTab& strProblem &vbTab& _
Replace(Err.Description,vbCrlf,"")
Err.Clear
End If
End Sub
*********END CODE**********
AnswerRe: Active Directory Users OU Pin
Dave Kreskowiak22-Feb-13 8:45
mveDave Kreskowiak22-Feb-13 8:45 
GeneralRe: Active Directory Users OU Pin
dsj4124-Feb-13 11:20
dsj4124-Feb-13 11:20 
GeneralRe: Active Directory Users OU Pin
Dave Kreskowiak25-Feb-13 10:31
mveDave Kreskowiak25-Feb-13 10:31 
GeneralRe: Active Directory Users OU Pin
dsj4126-Feb-13 0:14
dsj4126-Feb-13 0:14 
GeneralRe: Active Directory Users OU Pin
dsj415-Mar-13 1:43
dsj415-Mar-13 1:43 
QuestionVolume Button in Text to Speech Convertor Pin
sanju_na21-Feb-13 22:05
sanju_na21-Feb-13 22:05 
QuestionHttpwebrequest + Socks5 Pin
mathisderaltefuchs20-Feb-13 21:49
mathisderaltefuchs20-Feb-13 21:49 
AnswerRe: Httpwebrequest + Socks5 Pin
Richard MacCutchan20-Feb-13 23:00
mveRichard MacCutchan20-Feb-13 23:00 
QuestionHow can we read lengthy datas in Win Forms - more height than 780 in single page by scroll? Pin
Paramu197320-Feb-13 6:19
Paramu197320-Feb-13 6:19 
AnswerRe: How can we read lengthy datas in Win Forms - more height than 780 in single page by scroll? Pin
Eddy Vluggen20-Feb-13 6:39
professionalEddy Vluggen20-Feb-13 6:39 
GeneralRe: How can we read lengthy datas in Win Forms - more height than 780 in single page by scroll? Pin
Paramu197320-Feb-13 18:50
Paramu197320-Feb-13 18:50 
GeneralRe: How can we read lengthy datas in Win Forms - more height than 780 in single page by scroll? Pin
Eddy Vluggen21-Feb-13 7:03
professionalEddy Vluggen21-Feb-13 7:03 
QuestionMaximize MDIParent and MDIChild control Pin
kurja-kurdoh19-Feb-13 6:41
kurja-kurdoh19-Feb-13 6:41 
AnswerRe: Maximize MDIParent and MDIChild control Pin
Simon_Whale19-Feb-13 21:58
Simon_Whale19-Feb-13 21:58 
QuestionDisable local accounts Pin
dsj4119-Feb-13 5:57
dsj4119-Feb-13 5:57 
AnswerRe: Disable local accounts Pin
Eddy Vluggen20-Feb-13 0:32
professionalEddy Vluggen20-Feb-13 0:32 
GeneralRe: Disable local accounts Pin
dsj4120-Feb-13 11:22
dsj4120-Feb-13 11:22 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.