display additional data for Windows hosts
This commit is contained in:
parent
9136d79751
commit
1851f02832
|
@ -66,7 +66,9 @@ class windowsHost extends baseModule {
|
||||||
// managed object classes
|
// managed object classes
|
||||||
$return['objectClasses'] = array('computer', 'securityPrincipal');
|
$return['objectClasses'] = array('computer', 'securityPrincipal');
|
||||||
// managed attributes
|
// managed attributes
|
||||||
$return['attributes'] = array('cn', 'description', 'location', 'sAMAccountName', 'managedBy', 'operatingSystem', 'operatingSystemVersion', 'dNSHostName');
|
$return['attributes'] = array('cn', 'description', 'location', 'sAMAccountName', 'managedBy',
|
||||||
|
'operatingSystem', 'operatingSystemVersion', 'dNSHostName', 'pwdLastSet', 'lastLogonTimestamp',
|
||||||
|
'logonCount');
|
||||||
// help Entries
|
// help Entries
|
||||||
$return['help'] = array(
|
$return['help'] = array(
|
||||||
'cn' => array(
|
'cn' => array(
|
||||||
|
@ -85,6 +87,18 @@ class windowsHost extends baseModule {
|
||||||
"Headline" => _('Managed by'), 'attr' => 'managedBy',
|
"Headline" => _('Managed by'), 'attr' => 'managedBy',
|
||||||
"Text" => _('The host is managed by this contact person.')
|
"Text" => _('The host is managed by this contact person.')
|
||||||
),
|
),
|
||||||
|
'pwdLastSet' => array(
|
||||||
|
"Headline" => _('Last password change'), 'attr' => 'pwdLastSet',
|
||||||
|
"Text" => _('Time of user\'s last password change.')
|
||||||
|
),
|
||||||
|
'lastLogonTimestamp' => array(
|
||||||
|
"Headline" => _('Last login'), 'attr' => 'lastLogonTimestamp',
|
||||||
|
"Text" => _('Time of user\'s last login.')
|
||||||
|
),
|
||||||
|
'logonCount' => array(
|
||||||
|
"Headline" => _('Logon count'), 'attr' => 'logonCount',
|
||||||
|
"Text" => _('This is the number of logins using this account.')
|
||||||
|
),
|
||||||
);
|
);
|
||||||
// upload fields
|
// upload fields
|
||||||
$return['upload_columns'] = array(
|
$return['upload_columns'] = array(
|
||||||
|
@ -141,6 +155,33 @@ class windowsHost extends baseModule {
|
||||||
$this->addSimpleInputTextField($container, 'cn', _('Host name'), true);
|
$this->addSimpleInputTextField($container, 'cn', _('Host name'), true);
|
||||||
$this->addSimpleInputTextField($container, 'description', _('Description'), false);
|
$this->addSimpleInputTextField($container, 'description', _('Description'), false);
|
||||||
$this->addSimpleInputTextField($container, 'location', _('Location'), false);
|
$this->addSimpleInputTextField($container, 'location', _('Location'), false);
|
||||||
|
// last password change
|
||||||
|
if (!empty($this->attributes['pwdLastSet'])) {
|
||||||
|
$container->addLabel(new htmlOutputText(_('Last password change')));
|
||||||
|
$pwdLastSetGroup = new htmlGroup();
|
||||||
|
$pwdLastSetGroup->addElement(new htmlOutputText($this->formatFileTime($this->attributes['pwdLastSet'][0])));
|
||||||
|
$pwdLastSetGroup->addElement(new htmlSpacer('0.5rem', null));
|
||||||
|
$pwdLastSetGroup->addElement(new htmlHelpLink('pwdLastSet'));
|
||||||
|
$container->addField($pwdLastSetGroup);
|
||||||
|
}
|
||||||
|
// last login
|
||||||
|
if (!empty($this->attributes['lastLogonTimestamp'])) {
|
||||||
|
$container->addLabel(new htmlOutputText(_('Last login')));
|
||||||
|
$lastLogonTimestampGroup = new htmlGroup();
|
||||||
|
$lastLogonTimestampGroup->addElement(new htmlOutputText($this->formatFileTime($this->attributes['lastLogonTimestamp'][0])));
|
||||||
|
$lastLogonTimestampGroup->addElement(new htmlSpacer('0.5rem', null));
|
||||||
|
$lastLogonTimestampGroup->addElement(new htmlHelpLink('lastLogonTimestamp'));
|
||||||
|
$container->addField($lastLogonTimestampGroup);
|
||||||
|
}
|
||||||
|
// logon count
|
||||||
|
if (!empty($this->attributes['logonCount'])) {
|
||||||
|
$container->addLabel(new htmlOutputText(_('Logon count')));
|
||||||
|
$logonCountGroup = new htmlGroup();
|
||||||
|
$logonCountGroup->addElement(new htmlOutputText($this->attributes['logonCount'][0]));
|
||||||
|
$logonCountGroup->addElement(new htmlSpacer('0.5rem', null));
|
||||||
|
$logonCountGroup->addElement(new htmlHelpLink('logonCount'));
|
||||||
|
$container->addField($logonCountGroup);
|
||||||
|
}
|
||||||
// managed by
|
// managed by
|
||||||
$container->addLabel(new htmlOutputText(_('Managed by')));
|
$container->addLabel(new htmlOutputText(_('Managed by')));
|
||||||
$managedBy = '-';
|
$managedBy = '-';
|
||||||
|
@ -296,6 +337,23 @@ class windowsHost extends baseModule {
|
||||||
return $return;
|
return $return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Formats a value in file time (100 ns since 1601-01-01).
|
||||||
|
*
|
||||||
|
* @param integer $value time value
|
||||||
|
* @return String formatted value
|
||||||
|
*/
|
||||||
|
private function formatFileTime($value) {
|
||||||
|
if (empty($value) || ($value == '-1')) {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
$seconds = substr($value, 0, -7);
|
||||||
|
$time = new DateTime('1601-01-01', new DateTimeZone('UTC'));
|
||||||
|
$time->add(new DateInterval('PT' . $seconds . 'S'));
|
||||||
|
$time->setTimezone(getTimeZone());
|
||||||
|
return $time->format('Y-m-d H:i:s');
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue