Jump to content

PasswordState host discovery job error


Emil Gullbrandsson

Recommended Posts

Hi support,

 

We're experience the below error in the application event log on the PasswordState server when we're running a "Host Discovery Job":

Quote

An error has occurred executing the call 'ProcessHostsDiscoveryJob' - There is no such object on the server.
&stacktrace=   at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
   at System.DirectoryServices.DirectoryEntry.Bind()
   at System.DirectoryServices.DirectoryEntry.get_AdsObject()
   at System.DirectoryServices.DirectorySearcher.FindAll(Boolean findMoreThanOne)
   at PasswordstateService.PasswordstateService.DiscoverHosts(String FQDN, String OU, String RecurseChildOUs, String OperatingSystems, String LastLogonDate, String PrivilegedAccountUserName, String PrivilegedAccountPassword, Boolean LDAP)
   at PasswordstateService.PasswordstateService.ProcessHostsDiscoveryJob(DataTable DataTable)

 

Any suggestions?

Link to comment
Share on other sites

  • 2 years later...

Hi @Emil Gullbrandsson @support,

 

Edit: @support Ok, we have found the problem. In one specific OU a computer object exists with Operating System "NetApp Release 9.9.1P10" and perhaps a few custom attributes since it is a non windows device. I think this should be a bug, since this computer object should not get discovered and should not crash the discovery job. (NetApp xx is not part of your operatingSytem list)

 

We are currently getting the same error message for a new Active Directory domain. For some other domains the host discovery jobs work without any problems for years now.

Were you able to solve the problem or do you have a hint for us what could be the reason? Any other jobs in this domain are working (Password Heartbeat/Reset, User/Security Group Import etc.).

 

On some Computer Objects the Operating System field is empty. Could it be related to this empty OS field on the AD computer object?

OUs are correct.

The Method in your script will search for given OS from discovery job.
-> PasswordstateService.PasswordstateService.DiscoverHosts(String FQDN, String OU, String RecurseChildOUs, String OperatingSystems, String LastLogonDate, String PrivilegedAccountUserName, String PrivilegedAccountPassword, Boolean LDAP)

 

Edit2:

Here are the object information of the computer object on which Passwordstate throws the error (using the [System.DirectoryServices.DirectorySearcher] class).

 

Name                           Value
----                           -----
logoncount                     {690}
codepage                       {0}
objectcategory                 {CN=Computer,CN=Schema,CN=Configuration,DC=xx,DC=domain,DC=com}
iscriticalsystemobject         {False}
operatingsystem                {NetApp Release 9.9.1P10}
usnchanged                     {2100058}
instancetype                   {4}
name                           {host-name}
badpasswordtime                {0}
pwdlastset                     {133219773656645289}
serviceprincipalname           {HOST/host-name.xx.domain.com, HOST/HOST-NAME}
objectclass                    {top, person, organizationalPerson, user...}
badpwdcount                    {0}
samaccounttype                 {805306369}
lastlogontimestamp             {133264206811903765}
usncreated                     {1769671}
objectguid                     {145 HIDDEN}
localpolicyflags               {0}
whencreated                    {27.02.2023 12:50:46}
adspath                        {LDAP://CN=HOST-NAME,CN=Computers,DC=xx,DC=domain,DC=com}
useraccountcontrol             {4096}
cn                             {HOST-NAME}
countrycode                    {0}
primarygroupid                 {515}
whenchanged                    {19.04.2023 23:31:21}
dnshostname                    {HOST-NAME.XX.DOMAIN.COM}
dscorepropagationdata          {01.01.1601 00:00:00}
lastlogon                      {133268950003840410}
distinguishedname              {CN=HOST-NAME,CN=Computers,DC=xx,DC=domain,DC=com}
msds-supportedencryptiontypes  {6}
samaccountname                 {HOST-NAME$}
objectsid                      {1 5 0 0 0 0 0 5 21 0 0 0 14 175 155 174 105 HIDDEN}
lastlogoff                     {0}
accountexpires                 {9223372036854775807}


Thanks,
René

Link to comment
Share on other sites

Hi Guys,

 

When we search in an OU, we are initially filtering on the following:

 

mySearcher.Filter = ("(&(objectClass=computer)(operatingSystem=*)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))") 'userAccountControl is to exclude any disabled hosts - ! means Not Disabled

When we have the data for this filter, we then look at the attributes lastlogontimestamp, dnshostname, name & operatingsystem.

I have added a Host into an OU manually, where the following attributes are blank - lastlogontimestamp, dnshostname & operatingsystem.

My discovery job does not error, and it imports other records as appropriate.

As you've posted this in the Version 8 section of the forums, are you still using version 8? If so, please try upgrading to version 9, using these instructions - https://www.clickstudios.com.au/downloads/version9/Upgrade_Instructions.pdf

Regards

Click Studios

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...