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
|
||||
$return['objectClasses'] = array('computer', 'securityPrincipal');
|
||||
// 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
|
||||
$return['help'] = array(
|
||||
'cn' => array(
|
||||
|
@ -85,6 +87,18 @@ class windowsHost extends baseModule {
|
|||
"Headline" => _('Managed by'), 'attr' => 'managedBy',
|
||||
"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
|
||||
$return['upload_columns'] = array(
|
||||
|
@ -141,6 +155,33 @@ class windowsHost extends baseModule {
|
|||
$this->addSimpleInputTextField($container, 'cn', _('Host name'), true);
|
||||
$this->addSimpleInputTextField($container, 'description', _('Description'), 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
|
||||
$container->addLabel(new htmlOutputText(_('Managed by')));
|
||||
$managedBy = '-';
|
||||
|
@ -296,6 +337,23 @@ class windowsHost extends baseModule {
|
|||
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