mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1771 lines
30 KiB
1771 lines
30 KiB
//+-------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation, 1992 - 2000
|
|
//
|
|
// File: gettable.cpp
|
|
//
|
|
// Contents: Defines Table DSGet
|
|
//
|
|
// History: 13-Oct-2000 JeffJon Created
|
|
//
|
|
//
|
|
//--------------------------------------------------------------------------
|
|
|
|
#include "pch.h"
|
|
#include "cstrings.h"
|
|
#include "gettable.h"
|
|
#include "display.h"
|
|
#include "usage.h"
|
|
|
|
//+--------------------------------------------------------------------------
|
|
//
|
|
// Member: CDSGetDisplayInfo::AddValue
|
|
//
|
|
// Synopsis: Adds a value to the value array and allocates more space
|
|
// if necessary.
|
|
//
|
|
// Arguments: [pszValue IN] : new value to be added
|
|
//
|
|
// Returns: HRESULT : E_OUTOFMEMORY if we failed to allocate space
|
|
// S_OK if we succeeded in setting the password
|
|
//
|
|
// History: 23-Oct-2000 JeffJon Created
|
|
//
|
|
//---------------------------------------------------------------------------
|
|
HRESULT CDSGetDisplayInfo::AddValue(PCWSTR pszValue)
|
|
{
|
|
ENTER_FUNCTION_HR(LEVEL8_LOGGING, CDSGetDisplayInfo::AddValue, hr);
|
|
|
|
do // false loop
|
|
{
|
|
//
|
|
// Verify parameters
|
|
//
|
|
if (!pszValue)
|
|
{
|
|
ASSERT(pszValue);
|
|
hr = E_INVALIDARG;
|
|
break;
|
|
}
|
|
|
|
if (m_dwAttributeValueCount == m_dwAttributeValueSize)
|
|
{
|
|
DWORD dwNewSize = m_dwAttributeValueSize + 5;
|
|
|
|
//
|
|
// Allocate a new array with more space
|
|
//
|
|
PWSTR* ppszNewArray = new PWSTR[dwNewSize];
|
|
if (!ppszNewArray)
|
|
{
|
|
hr = E_OUTOFMEMORY;
|
|
break;
|
|
}
|
|
|
|
m_dwAttributeValueSize = dwNewSize;
|
|
|
|
//
|
|
// Copy the old values
|
|
//
|
|
memcpy(ppszNewArray, m_ppszAttributeStringValue, m_dwAttributeValueCount * sizeof(PWSTR));
|
|
|
|
//
|
|
// Delete the old array
|
|
//
|
|
if (m_ppszAttributeStringValue)
|
|
{
|
|
delete[] m_ppszAttributeStringValue;
|
|
}
|
|
m_ppszAttributeStringValue = ppszNewArray;
|
|
}
|
|
|
|
//
|
|
// Add the new value to the end of the array
|
|
//
|
|
m_ppszAttributeStringValue[m_dwAttributeValueCount] = new WCHAR[wcslen(pszValue) + 1];
|
|
if (!m_ppszAttributeStringValue[m_dwAttributeValueCount])
|
|
{
|
|
hr = E_OUTOFMEMORY;
|
|
break;
|
|
}
|
|
|
|
wcscpy(m_ppszAttributeStringValue[m_dwAttributeValueCount], pszValue);
|
|
m_dwAttributeValueCount++;
|
|
|
|
} while (false);
|
|
|
|
return hr;
|
|
}
|
|
|
|
//+-------------------------------------------------------------------------
|
|
// Parser table
|
|
//--------------------------------------------------------------------------
|
|
|
|
ARG_RECORD DSGET_COMMON_COMMANDS[] =
|
|
{
|
|
#ifdef DBG
|
|
//
|
|
// -debug, -debug
|
|
//
|
|
0,(LPWSTR)c_sz_arg1_com_debug,
|
|
0,NULL,
|
|
ARG_TYPE_DEBUG, ARG_FLAG_OPTIONAL|ARG_FLAG_HIDDEN,
|
|
NULL,
|
|
0, NULL,
|
|
#endif
|
|
|
|
//
|
|
// h, ?
|
|
//
|
|
0,(LPWSTR)c_sz_arg1_com_help,
|
|
0,(LPWSTR)c_sz_arg2_com_help,
|
|
ARG_TYPE_HELP, ARG_FLAG_OPTIONAL,
|
|
NULL,
|
|
0, NULL,
|
|
|
|
//
|
|
// objecttype
|
|
//
|
|
0,(LPWSTR)c_sz_arg1_com_objecttype,
|
|
0,NULL,
|
|
ARG_TYPE_STR, ARG_FLAG_REQUIRED|ARG_FLAG_NOFLAG,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// s,server
|
|
//
|
|
0,(LPWSTR)c_sz_arg1_com_server,
|
|
0,(LPWSTR)c_sz_arg2_com_server,
|
|
ARG_TYPE_STR, ARG_FLAG_OPTIONAL,
|
|
NULL,
|
|
0, NULL,
|
|
|
|
//
|
|
// d,domain
|
|
//
|
|
0,(LPWSTR)c_sz_arg1_com_domain,
|
|
0,(LPWSTR)c_sz_arg2_com_domain,
|
|
ARG_TYPE_STR, ARG_FLAG_OPTIONAL,
|
|
NULL,
|
|
0, NULL,
|
|
|
|
//
|
|
// u, username
|
|
//
|
|
0,(LPWSTR)c_sz_arg1_com_username,
|
|
0,(LPWSTR)c_sz_arg2_com_username,
|
|
ARG_TYPE_STR, ARG_FLAG_OPTIONAL,
|
|
NULL,
|
|
0, NULL,
|
|
|
|
//
|
|
// w, password
|
|
//
|
|
0,(LPWSTR)c_sz_arg1_com_password,
|
|
0,(LPWSTR)c_sz_arg2_com_password,
|
|
ARG_TYPE_STR, ARG_FLAG_OPTIONAL,
|
|
NULL,
|
|
0, ValidateAdminPassword,
|
|
|
|
//
|
|
// c Continue
|
|
//
|
|
0,(PWSTR)c_sz_arg1_com_continue,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
(CMD_TYPE)_T(""),
|
|
0, NULL,
|
|
|
|
//
|
|
// q,q
|
|
//
|
|
0,(LPWSTR)c_sz_arg1_com_quiet,
|
|
0,NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
NULL,
|
|
0, NULL,
|
|
|
|
//
|
|
// l List
|
|
//
|
|
0,(LPWSTR)c_sz_arg1_com_listformat,
|
|
0,NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// objectDN
|
|
//
|
|
0,(LPWSTR)c_sz_arg1_com_objectDN,
|
|
ID_ARG2_NULL,NULL,
|
|
ARG_TYPE_MSZ, ARG_FLAG_REQUIRED|ARG_FLAG_NOFLAG|ARG_FLAG_STDIN|ARG_FLAG_DN,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// dn
|
|
//
|
|
0, (PWSTR)g_pszArg1UserDN,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// description
|
|
//
|
|
0, (PWSTR)c_sz_arg1_com_description,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
ARG_TERMINATOR
|
|
|
|
};
|
|
|
|
|
|
ARG_RECORD DSGET_USER_COMMANDS[]=
|
|
{
|
|
//
|
|
// SamID
|
|
//
|
|
0, (PWSTR)g_pszArg1UserSAMID,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// sid
|
|
//
|
|
0, (PWSTR)g_pszArg1UserSID,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// upn
|
|
//
|
|
0, (PWSTR)g_pszArg1UserUPN,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// fn. FirstName
|
|
//
|
|
0, (PWSTR)g_pszArg1UserFirstName,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// mi Middle Initial
|
|
//
|
|
0, (PWSTR)g_pszArg1UserMiddleInitial,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// ln LastName
|
|
//
|
|
0, (PWSTR)g_pszArg1UserLastName,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// display DisplayName
|
|
//
|
|
0, (PWSTR)g_pszArg1UserDisplayName,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// empid Employee ID
|
|
//
|
|
0, (PWSTR)g_pszArg1UserEmployeeID,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// office Office Location
|
|
//
|
|
0, (PWSTR)g_pszArg1UserOffice,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// tel Telephone
|
|
//
|
|
0, (PWSTR)g_pszArg1UserTelephone,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// email E-mail
|
|
//
|
|
0, (PWSTR)g_pszArg1UserEmail,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// hometel Home Telephone
|
|
//
|
|
0, (PWSTR)g_pszArg1UserHomeTelephone,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// pager Pager number
|
|
//
|
|
0, (PWSTR)g_pszArg1UserPagerNumber,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// mobile Mobile Telephone Number
|
|
//
|
|
0, (PWSTR)g_pszArg1UserMobileNumber,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// fax Fax Number
|
|
//
|
|
0, (PWSTR)g_pszArg1UserFaxNumber,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// iptel IP phone#
|
|
//
|
|
0, (PWSTR)g_pszArg1UserIPTel,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// webpg Web Page
|
|
//
|
|
0, (PWSTR)g_pszArg1UserWebPage,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// title Title
|
|
//
|
|
0, (PWSTR)g_pszArg1UserTitle,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// dept Department
|
|
//
|
|
0, (PWSTR)g_pszArg1UserDepartment,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// company Company
|
|
//
|
|
0, (PWSTR)g_pszArg1UserCompany,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// mgr Manager
|
|
//
|
|
0, (PWSTR)g_pszArg1UserManager,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// hmdir Home Directory
|
|
//
|
|
0, (PWSTR)g_pszArg1UserHomeDirectory,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// hmdrv Home Drive
|
|
//
|
|
0, (PWSTR)g_pszArg1UserHomeDrive,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// profile Profile
|
|
//
|
|
0, (PWSTR)g_pszArg1UserProfile,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// loscr Logon Script
|
|
//
|
|
0, (PWSTR)g_pszArg1UserLogonScript,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// mustchpwd Must Change Password at next logon
|
|
//
|
|
0, (PWSTR)g_pszArg1UserMustChangePwd,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// canchpwd Can Change Password
|
|
//
|
|
0, (PWSTR)g_pszArg1UserCanChangePwd,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// pwdneverexpires Password never expires
|
|
//
|
|
0, (PWSTR)g_pszArg1UserPwdNeverExpires,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// disabled Disable Account
|
|
//
|
|
0, (PWSTR)g_pszArg1UserDisableAccount,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// acctexpires Account Expires
|
|
//
|
|
0, (PWSTR)g_pszArg1UserAcctExpires,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// reversiblepwd Password stored with reversible encryption
|
|
//
|
|
0, (PWSTR)g_pszArg1UserReversiblePwd,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// memberof Member of group
|
|
//
|
|
0, (PWSTR)g_pszArg1UserMemberOf,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// expand Recursively expand group membership
|
|
//
|
|
0, (PWSTR)g_pszArg1UserExpand,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
ARG_TERMINATOR
|
|
};
|
|
|
|
ARG_RECORD DSGET_COMPUTER_COMMANDS[]=
|
|
{
|
|
//
|
|
// SamID
|
|
//
|
|
0, (PWSTR)g_pszArg1ComputerSAMID,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// sid
|
|
//
|
|
0, (PWSTR)g_pszArg1ComputerSID,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// loc
|
|
//
|
|
0, (PWSTR)g_pszArg1ComputerLoc,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// disabled Disable Account
|
|
//
|
|
0, (PWSTR)g_pszArg1ComputerDisableAccount,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// memberof Member of group
|
|
//
|
|
0, (PWSTR)g_pszArg1ComputerMemberOf,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// expand Recursively expand group membership
|
|
//
|
|
0, (PWSTR)g_pszArg1ComputerExpand,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
(CMD_TYPE)_T(""),
|
|
0, NULL,
|
|
|
|
ARG_TERMINATOR,
|
|
};
|
|
|
|
ARG_RECORD DSGET_GROUP_COMMANDS[]=
|
|
{
|
|
//
|
|
// samname
|
|
//
|
|
0, (PWSTR)g_pszArg1GroupSamid,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// sid
|
|
//
|
|
0, (PWSTR)g_pszArg1GroupSID,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// secgrp Security enabled
|
|
//
|
|
0, (PWSTR)g_pszArg1GroupSecGrp,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// scope Group scope (local/global/universal)
|
|
//
|
|
0, (PWSTR)g_pszArg1GroupScope,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// memberof Member of groups
|
|
//
|
|
0, (PWSTR)g_pszArg1GroupMemberOf,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// members Contains members
|
|
//
|
|
0, (PWSTR)g_pszArg1GroupMembers,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// expand Recursively expand group membership
|
|
//
|
|
0, (PWSTR)g_pszArg1GroupExpand,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
ARG_TERMINATOR,
|
|
};
|
|
|
|
|
|
ARG_RECORD DSGET_CONTACT_COMMANDS[]=
|
|
{
|
|
//
|
|
// fn. FirstName
|
|
//
|
|
0, (PWSTR)g_pszArg1UserFirstName,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// mi Middle Initial
|
|
//
|
|
0, (PWSTR)g_pszArg1UserMiddleInitial,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// ln LastName
|
|
//
|
|
0, (PWSTR)g_pszArg1UserLastName,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// display DisplayName
|
|
//
|
|
0, (PWSTR)g_pszArg1UserDisplayName,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// office Office Location
|
|
//
|
|
0, (PWSTR)g_pszArg1UserOffice,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// tel Telephone
|
|
//
|
|
0, (PWSTR)g_pszArg1UserTelephone,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// email E-mail
|
|
//
|
|
0, (PWSTR)g_pszArg1UserEmail,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// hometel Home Telephone
|
|
//
|
|
0, (PWSTR)g_pszArg1UserHomeTelephone,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// pager Pager number
|
|
//
|
|
0, (PWSTR)g_pszArg1UserPagerNumber,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// mobile Mobile Telephone Number
|
|
//
|
|
0, (PWSTR)g_pszArg1UserMobileNumber,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// fax Fax Number
|
|
//
|
|
0, (PWSTR)g_pszArg1UserFaxNumber,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// title Title
|
|
//
|
|
0, (PWSTR)g_pszArg1UserTitle,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// dept Department
|
|
//
|
|
0, (PWSTR)g_pszArg1UserDepartment,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// company Company
|
|
//
|
|
0, (PWSTR)g_pszArg1UserCompany,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
ARG_TERMINATOR,
|
|
|
|
};
|
|
|
|
|
|
ARG_RECORD DSGET_SERVER_COMMANDS[]=
|
|
{
|
|
//
|
|
// dnsname dnsHostName
|
|
//
|
|
0, (PWSTR)g_pszArg1ServerDnsName,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// site
|
|
//
|
|
0, (PWSTR)g_pszArg1ServerSite,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// isGC
|
|
//
|
|
0, (PWSTR)g_pszArg1ServerIsGC,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
ARG_TERMINATOR,
|
|
};
|
|
|
|
ARG_RECORD DSGET_SITE_COMMANDS[]=
|
|
{
|
|
//
|
|
// dnsname dnsHostName
|
|
//
|
|
0, (PWSTR)g_pszArg1SiteAutotopology,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// site
|
|
//
|
|
0, (PWSTR)g_pszArg1SiteCacheGroups,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// isGC
|
|
//
|
|
0, (PWSTR)g_pszArg1SitePrefGCSite,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
ARG_TERMINATOR,
|
|
};
|
|
|
|
ARG_RECORD DSGET_SUBNET_COMMANDS[]=
|
|
{
|
|
//
|
|
// loc Location
|
|
//
|
|
0, (PWSTR)g_pszArg1SubnetLocation,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
//
|
|
// site
|
|
//
|
|
0, (PWSTR)g_pszArg1SubnetSite,
|
|
ID_ARG2_NULL, NULL,
|
|
ARG_TYPE_BOOL, ARG_FLAG_OPTIONAL,
|
|
0,
|
|
0, NULL,
|
|
|
|
ARG_TERMINATOR,
|
|
};
|
|
|
|
|
|
//+-------------------------------------------------------------------------
|
|
// Attributes
|
|
//--------------------------------------------------------------------------
|
|
|
|
//
|
|
// Description
|
|
//
|
|
DSGET_ATTR_TABLE_ENTRY descriptionEntry =
|
|
{
|
|
c_sz_arg1_com_description,
|
|
L"description",
|
|
eCommDescription,
|
|
CommonDisplayStringFunc,
|
|
};
|
|
|
|
//
|
|
// SamID
|
|
//
|
|
DSGET_ATTR_TABLE_ENTRY UserSAMEntry =
|
|
{
|
|
g_pszArg1UserSAMID,
|
|
L"sAMAccountName",
|
|
eUserSamID,
|
|
CommonDisplayStringFunc,
|
|
};
|
|
|
|
//
|
|
// SamID
|
|
//
|
|
DSGET_ATTR_TABLE_ENTRY ComputerSAMEntry =
|
|
{
|
|
g_pszArg1ComputerSAMID,
|
|
L"sAMAccountName",
|
|
eComputerSamID,
|
|
CommonDisplayStringFunc,
|
|
};
|
|
|
|
//
|
|
// SID
|
|
//
|
|
DSGET_ATTR_TABLE_ENTRY UserSIDEntry =
|
|
{
|
|
g_pszArg1UserSID,
|
|
L"objectSID",
|
|
eUserSID,
|
|
CommonDisplayStringFunc,
|
|
};
|
|
|
|
//
|
|
// SID
|
|
//
|
|
DSGET_ATTR_TABLE_ENTRY ComputerSIDEntry =
|
|
{
|
|
g_pszArg1ComputerSID,
|
|
L"objectSID",
|
|
eComputerSID,
|
|
CommonDisplayStringFunc,
|
|
};
|
|
|
|
//
|
|
// SID
|
|
//
|
|
DSGET_ATTR_TABLE_ENTRY GroupSIDEntry =
|
|
{
|
|
g_pszArg1GroupSID,
|
|
L"objectSID",
|
|
eGroupSID,
|
|
CommonDisplayStringFunc,
|
|
};
|
|
|
|
//
|
|
// UPN
|
|
//
|
|
DSGET_ATTR_TABLE_ENTRY UserUPNEntry =
|
|
{
|
|
g_pszArg1UserUPN,
|
|
L"userPrincipalName",
|
|
eUserUpn,
|
|
CommonDisplayStringFunc,
|
|
};
|
|
|
|
|
|
//
|
|
// First name
|
|
//
|
|
DSGET_ATTR_TABLE_ENTRY firstNameUserEntry =
|
|
{
|
|
g_pszArg1UserFirstName,
|
|
L"givenName",
|
|
eUserFn,
|
|
CommonDisplayStringFunc,
|
|
};
|
|
|
|
DSGET_ATTR_TABLE_ENTRY firstNameContactEntry =
|
|
{
|
|
g_pszArg1UserFirstName,
|
|
L"givenName",
|
|
eContactFn,
|
|
CommonDisplayStringFunc,
|
|
};
|
|
|
|
//
|
|
// Middle Initial
|
|
//
|
|
DSGET_ATTR_TABLE_ENTRY middleInitialUserEntry =
|
|
{
|
|
g_pszArg1UserMiddleInitial,
|
|
L"initials",
|
|
eUserMi,
|
|
CommonDisplayStringFunc,
|
|
};
|
|
|
|
DSGET_ATTR_TABLE_ENTRY middleInitialContactEntry =
|
|
{
|
|
g_pszArg1UserMiddleInitial,
|
|
L"initials",
|
|
eContactMi,
|
|
CommonDisplayStringFunc,
|
|
};
|
|
|
|
//
|
|
// Last name
|
|
//
|
|
DSGET_ATTR_TABLE_ENTRY lastNameUserEntry =
|
|
{
|
|
g_pszArg1UserLastName,
|
|
L"sn",
|
|
eUserLn,
|
|
CommonDisplayStringFunc,
|
|
};
|
|
|
|
DSGET_ATTR_TABLE_ENTRY lastNameContactEntry =
|
|
{
|
|
g_pszArg1UserLastName,
|
|
L"sn",
|
|
eContactLn,
|
|
CommonDisplayStringFunc,
|
|
};
|
|
|
|
//
|
|
// Display name
|
|
//
|
|
DSGET_ATTR_TABLE_ENTRY displayNameUserEntry =
|
|
{
|
|
g_pszArg1UserDisplayName,
|
|
L"displayName",
|
|
eUserDisplay,
|
|
CommonDisplayStringFunc,
|
|
};
|
|
|
|
//
|
|
// Employee ID
|
|
//
|
|
DSGET_ATTR_TABLE_ENTRY employeeIDUserEntry =
|
|
{
|
|
g_pszArg1UserEmployeeID,
|
|
L"employeeID",
|
|
eUserEmpID,
|
|
CommonDisplayStringFunc,
|
|
};
|
|
|
|
|
|
|
|
DSGET_ATTR_TABLE_ENTRY displayNameContactEntry =
|
|
{
|
|
g_pszArg1UserDisplayName,
|
|
L"displayName",
|
|
eContactDisplay,
|
|
CommonDisplayStringFunc,
|
|
};
|
|
|
|
//
|
|
// Office
|
|
//
|
|
DSGET_ATTR_TABLE_ENTRY officeUserEntry =
|
|
{
|
|
g_pszArg1UserOffice,
|
|
L"physicalDeliveryOfficeName",
|
|
eUserOffice,
|
|
CommonDisplayStringFunc,
|
|
};
|
|
|
|
DSGET_ATTR_TABLE_ENTRY officeContactEntry =
|
|
{
|
|
g_pszArg1UserOffice,
|
|
L"physicalDeliveryOfficeName",
|
|
eContactOffice,
|
|
CommonDisplayStringFunc,
|
|
};
|
|
|
|
//
|
|
// Telephone
|
|
//
|
|
DSGET_ATTR_TABLE_ENTRY telephoneUserEntry =
|
|
{
|
|
g_pszArg1UserTelephone,
|
|
L"telephoneNumber",
|
|
eUserTel,
|
|
CommonDisplayStringFunc,
|
|
};
|
|
|
|
DSGET_ATTR_TABLE_ENTRY telephoneContactEntry =
|
|
{
|
|
g_pszArg1UserTelephone,
|
|
L"telephoneNumber",
|
|
eContactTel,
|
|
CommonDisplayStringFunc,
|
|
};
|
|
|
|
//
|
|
// Email
|
|
//
|
|
DSGET_ATTR_TABLE_ENTRY emailUserEntry =
|
|
{
|
|
g_pszArg1UserEmail,
|
|
L"mail",
|
|
eUserEmail,
|
|
CommonDisplayStringFunc,
|
|
};
|
|
|
|
DSGET_ATTR_TABLE_ENTRY emailContactEntry =
|
|
{
|
|
g_pszArg1UserEmail,
|
|
L"mail",
|
|
eContactEmail,
|
|
CommonDisplayStringFunc,
|
|
};
|
|
|
|
//
|
|
// Home Telephone
|
|
//
|
|
DSGET_ATTR_TABLE_ENTRY homeTelephoneUserEntry =
|
|
{
|
|
g_pszArg1UserHomeTelephone,
|
|
L"homePhone",
|
|
eUserHometel,
|
|
CommonDisplayStringFunc,
|
|
};
|
|
|
|
DSGET_ATTR_TABLE_ENTRY homeTelephoneContactEntry =
|
|
{
|
|
g_pszArg1UserHomeTelephone,
|
|
L"homePhone",
|
|
eContactHometel,
|
|
CommonDisplayStringFunc,
|
|
};
|
|
|
|
//
|
|
// Pager
|
|
//
|
|
DSGET_ATTR_TABLE_ENTRY pagerUserEntry =
|
|
{
|
|
g_pszArg1UserPagerNumber,
|
|
L"pager",
|
|
eUserPager,
|
|
CommonDisplayStringFunc,
|
|
};
|
|
|
|
DSGET_ATTR_TABLE_ENTRY pagerContactEntry =
|
|
{
|
|
g_pszArg1UserPagerNumber,
|
|
L"pager",
|
|
eContactPager,
|
|
CommonDisplayStringFunc,
|
|
};
|
|
|
|
//
|
|
// Mobile phone
|
|
//
|
|
DSGET_ATTR_TABLE_ENTRY mobileUserEntry =
|
|
{
|
|
g_pszArg1UserMobileNumber,
|
|
L"mobile",
|
|
eUserMobile,
|
|
CommonDisplayStringFunc,
|
|
};
|
|
|
|
DSGET_ATTR_TABLE_ENTRY mobileContactEntry =
|
|
{
|
|
g_pszArg1UserMobileNumber,
|
|
L"mobile",
|
|
eContactMobile,
|
|
CommonDisplayStringFunc,
|
|
};
|
|
|
|
//
|
|
// Fax
|
|
//
|
|
DSGET_ATTR_TABLE_ENTRY faxUserEntry =
|
|
{
|
|
g_pszArg1UserFaxNumber,
|
|
L"facsimileTelephoneNumber",
|
|
eUserFax,
|
|
CommonDisplayStringFunc,
|
|
};
|
|
|
|
DSGET_ATTR_TABLE_ENTRY faxContactEntry =
|
|
{
|
|
g_pszArg1UserFaxNumber,
|
|
L"facsimileTelephoneNumber",
|
|
eContactFax,
|
|
CommonDisplayStringFunc,
|
|
};
|
|
|
|
//
|
|
// IP phone #
|
|
//
|
|
DSGET_ATTR_TABLE_ENTRY ipPhoneUserEntry =
|
|
{
|
|
g_pszArg1UserIPTel,
|
|
L"ipPhones",
|
|
eUserIPTel,
|
|
CommonDisplayStringFunc,
|
|
};
|
|
|
|
//
|
|
// Web Page
|
|
//
|
|
DSGET_ATTR_TABLE_ENTRY webPageUserEntry =
|
|
{
|
|
g_pszArg1UserWebPage,
|
|
L"wWWHomePage",
|
|
eUserWebPage,
|
|
CommonDisplayStringFunc,
|
|
};
|
|
|
|
|
|
//
|
|
// Title
|
|
//
|
|
DSGET_ATTR_TABLE_ENTRY titleUserEntry =
|
|
{
|
|
g_pszArg1UserTitle,
|
|
L"title",
|
|
eUserTitle,
|
|
CommonDisplayStringFunc,
|
|
};
|
|
|
|
DSGET_ATTR_TABLE_ENTRY titleContactEntry =
|
|
{
|
|
g_pszArg1UserTitle,
|
|
L"title",
|
|
eContactTitle,
|
|
CommonDisplayStringFunc,
|
|
};
|
|
|
|
//
|
|
// Department
|
|
//
|
|
DSGET_ATTR_TABLE_ENTRY departmentUserEntry =
|
|
{
|
|
g_pszArg1UserDepartment,
|
|
L"department",
|
|
eUserDept,
|
|
CommonDisplayStringFunc,
|
|
};
|
|
|
|
DSGET_ATTR_TABLE_ENTRY departmentContactEntry =
|
|
{
|
|
g_pszArg1UserDepartment,
|
|
L"department",
|
|
eContactDept,
|
|
CommonDisplayStringFunc,
|
|
};
|
|
|
|
//
|
|
// Company
|
|
//
|
|
DSGET_ATTR_TABLE_ENTRY companyUserEntry =
|
|
{
|
|
g_pszArg1UserCompany,
|
|
L"company",
|
|
eUserCompany,
|
|
CommonDisplayStringFunc,
|
|
};
|
|
|
|
DSGET_ATTR_TABLE_ENTRY companyContactEntry =
|
|
{
|
|
g_pszArg1UserCompany,
|
|
L"company",
|
|
eContactCompany,
|
|
CommonDisplayStringFunc,
|
|
};
|
|
|
|
//
|
|
// Manager
|
|
//
|
|
DSGET_ATTR_TABLE_ENTRY managerUserEntry =
|
|
{
|
|
g_pszArg1UserManager,
|
|
L"manager",
|
|
eUserManager,
|
|
CommonDisplayStringFunc,
|
|
};
|
|
|
|
//
|
|
// Home directory
|
|
//
|
|
DSGET_ATTR_TABLE_ENTRY homeDirectoryUserEntry =
|
|
{
|
|
g_pszArg1UserHomeDirectory,
|
|
L"homeDirectory",
|
|
eUserHomeDirectory,
|
|
CommonDisplayStringFunc,
|
|
};
|
|
|
|
//
|
|
// Home drive
|
|
//
|
|
DSGET_ATTR_TABLE_ENTRY homeDriveUserEntry =
|
|
{
|
|
g_pszArg1UserHomeDrive,
|
|
L"homeDrive",
|
|
eUserHomeDrive,
|
|
CommonDisplayStringFunc,
|
|
};
|
|
|
|
//
|
|
// Profile path
|
|
//
|
|
DSGET_ATTR_TABLE_ENTRY profilePathUserEntry =
|
|
{
|
|
g_pszArg1UserProfile,
|
|
L"profilePath",
|
|
eUserProfilePath,
|
|
CommonDisplayStringFunc,
|
|
};
|
|
|
|
//
|
|
// Logon script
|
|
//
|
|
DSGET_ATTR_TABLE_ENTRY logonScriptUserEntry =
|
|
{
|
|
g_pszArg1UserLogonScript,
|
|
L"scriptPath",
|
|
eUserLogonScript,
|
|
CommonDisplayStringFunc,
|
|
};
|
|
|
|
//
|
|
// pwdLastSet
|
|
//
|
|
DSGET_ATTR_TABLE_ENTRY mustChangePwdUserEntry =
|
|
{
|
|
g_pszArg1UserMustChangePwd,
|
|
L"pwdLastSet",
|
|
eUserMustchpwd,
|
|
DisplayMustChangePassword,
|
|
};
|
|
|
|
//
|
|
// user account control
|
|
//
|
|
DSGET_ATTR_TABLE_ENTRY disableUserEntry =
|
|
{
|
|
g_pszArg1UserDisableAccount,
|
|
L"userAccountControl",
|
|
eUserDisabled,
|
|
DisplayAccountDisabled
|
|
};
|
|
|
|
DSGET_ATTR_TABLE_ENTRY disableComputerEntry =
|
|
{
|
|
g_pszArg1ComputerDisableAccount,
|
|
L"userAccountControl",
|
|
eComputerDisabled,
|
|
DisplayAccountDisabled
|
|
};
|
|
|
|
DSGET_ATTR_TABLE_ENTRY pwdNeverExpiresUserEntry =
|
|
{
|
|
g_pszArg1UserPwdNeverExpires,
|
|
L"userAccountControl",
|
|
eUserPwdneverexpires,
|
|
DisplayPasswordNeverExpires
|
|
};
|
|
|
|
DSGET_ATTR_TABLE_ENTRY reverisblePwdUserEntry =
|
|
{
|
|
g_pszArg1UserReversiblePwd,
|
|
L"userAccountControl",
|
|
eUserReversiblePwd,
|
|
DisplayReversiblePassword
|
|
};
|
|
|
|
//
|
|
// Account expires
|
|
//
|
|
DSGET_ATTR_TABLE_ENTRY accountExpiresUserEntry =
|
|
{
|
|
g_pszArg1UserAcctExpires,
|
|
L"accountExpires",
|
|
eUserAcctExpires,
|
|
DisplayAccountExpires,
|
|
};
|
|
|
|
//
|
|
// SAM Account Name
|
|
//
|
|
DSGET_ATTR_TABLE_ENTRY samNameGroupEntry =
|
|
{
|
|
g_pszArg1GroupSamid,
|
|
L"sAMAccountName",
|
|
eGroupSamname,
|
|
CommonDisplayStringFunc,
|
|
};
|
|
|
|
//
|
|
// Group Type
|
|
//
|
|
DSGET_ATTR_TABLE_ENTRY groupScopeTypeEntry =
|
|
{
|
|
g_pszArg1GroupScope,
|
|
L"groupType",
|
|
eGroupScope,
|
|
DisplayGroupScope
|
|
};
|
|
|
|
DSGET_ATTR_TABLE_ENTRY groupSecurityTypeEntry =
|
|
{
|
|
g_pszArg1GroupSecGrp,
|
|
L"groupType",
|
|
eGroupSecgrp,
|
|
DisplayGroupSecurityEnabled
|
|
};
|
|
|
|
//
|
|
// Group Members
|
|
//
|
|
DSGET_ATTR_TABLE_ENTRY membersGroupEntry =
|
|
{
|
|
g_pszArg1GroupMembers,
|
|
L"member",
|
|
eGroupMembers,
|
|
CommonDisplayStringFunc
|
|
};
|
|
|
|
//
|
|
// MemberOf
|
|
//
|
|
DSGET_ATTR_TABLE_ENTRY memberOfUserEntry =
|
|
{
|
|
L"Member of",
|
|
L"memberOf",
|
|
eUserMemberOf,
|
|
DisplayUserMemberOf
|
|
};
|
|
|
|
DSGET_ATTR_TABLE_ENTRY memberOfComputerEntry =
|
|
{
|
|
g_pszArg1UserMemberOf,
|
|
L"memberOf",
|
|
eComputerMemberOf,
|
|
DisplayComputerMemberOf
|
|
};
|
|
|
|
DSGET_ATTR_TABLE_ENTRY memberOfGroupEntry =
|
|
{
|
|
g_pszArg1GroupMemberOf,
|
|
L"memberOf",
|
|
eGroupMemberOf,
|
|
DisplayGroupMemberOf
|
|
};
|
|
|
|
//
|
|
// User Can Change Password
|
|
//
|
|
DSGET_ATTR_TABLE_ENTRY canChangePwdUserEntry =
|
|
{
|
|
g_pszArg1UserCanChangePwd,
|
|
NULL,
|
|
eUserCanchpwd,
|
|
DisplayCanChangePassword
|
|
};
|
|
|
|
//
|
|
// Server entries
|
|
//
|
|
DSGET_ATTR_TABLE_ENTRY dnsNameServerEntry =
|
|
{
|
|
g_pszArg1ServerDnsName,
|
|
L"dnsHostName",
|
|
eServerDnsName,
|
|
CommonDisplayStringFunc
|
|
};
|
|
|
|
DSGET_ATTR_TABLE_ENTRY siteServerEntry =
|
|
{
|
|
g_pszArg1ServerSite,
|
|
NULL,
|
|
eServerSite,
|
|
DisplayGrandparentRDN
|
|
};
|
|
|
|
DSGET_ATTR_TABLE_ENTRY isGCServerEntry =
|
|
{
|
|
g_pszArg1ServerIsGC,
|
|
NULL,
|
|
eServerIsGC,
|
|
IsServerGCDisplay
|
|
};
|
|
|
|
//
|
|
// Site entries
|
|
//
|
|
DSGET_ATTR_TABLE_ENTRY autoTopSiteEntry =
|
|
{
|
|
g_pszArg1SiteAutotopology,
|
|
NULL,
|
|
eSiteAutoTop,
|
|
IsAutotopologyEnabledSite
|
|
};
|
|
|
|
DSGET_ATTR_TABLE_ENTRY cacheGroupsSiteEntry =
|
|
{
|
|
g_pszArg1SiteCacheGroups,
|
|
NULL,
|
|
eSiteCacheGroups,
|
|
IsCacheGroupsEnabledSite
|
|
};
|
|
|
|
DSGET_ATTR_TABLE_ENTRY prefGCSiteEntry =
|
|
{
|
|
g_pszArg1SitePrefGCSite,
|
|
NULL,
|
|
eSitePrefGC,
|
|
DisplayPreferredGC
|
|
};
|
|
|
|
// Computer entries
|
|
|
|
DSGET_ATTR_TABLE_ENTRY locComputerEntry =
|
|
{
|
|
g_pszArg1ComputerLoc,
|
|
L"location",
|
|
eComputerLoc,
|
|
CommonDisplayStringFunc
|
|
};
|
|
|
|
|
|
//
|
|
// Subnet entries
|
|
//
|
|
DSGET_ATTR_TABLE_ENTRY locSubnetEntry =
|
|
{
|
|
g_pszArg1SubnetLocation,
|
|
L"location",
|
|
eSubnetLocation,
|
|
CommonDisplayStringFunc
|
|
};
|
|
|
|
DSGET_ATTR_TABLE_ENTRY siteSubnetEntry =
|
|
{
|
|
g_pszArg1SubnetSite,
|
|
L"siteObject",
|
|
eSubnetSite,
|
|
CommonDisplayStringFunc
|
|
};
|
|
|
|
//
|
|
//Attribute Table entries and ObjectTableEntries
|
|
//
|
|
|
|
//
|
|
// User
|
|
//
|
|
|
|
PDSGET_ATTR_TABLE_ENTRY UserAttributeTable[] =
|
|
{
|
|
&descriptionEntry,
|
|
&UserSAMEntry,
|
|
&UserSIDEntry,
|
|
&UserUPNEntry,
|
|
&firstNameUserEntry,
|
|
&middleInitialUserEntry,
|
|
&lastNameUserEntry,
|
|
&displayNameUserEntry,
|
|
&employeeIDUserEntry,
|
|
&officeUserEntry,
|
|
&telephoneUserEntry,
|
|
&emailUserEntry,
|
|
&homeTelephoneUserEntry,
|
|
&pagerUserEntry,
|
|
&mobileUserEntry,
|
|
&faxUserEntry,
|
|
&ipPhoneUserEntry,
|
|
&webPageUserEntry,
|
|
&titleUserEntry,
|
|
&departmentUserEntry,
|
|
&companyUserEntry,
|
|
&managerUserEntry,
|
|
&homeDirectoryUserEntry,
|
|
&homeDriveUserEntry,
|
|
&profilePathUserEntry,
|
|
&logonScriptUserEntry,
|
|
&mustChangePwdUserEntry,
|
|
&canChangePwdUserEntry,
|
|
&reverisblePwdUserEntry,
|
|
&pwdNeverExpiresUserEntry,
|
|
&accountExpiresUserEntry,
|
|
&disableUserEntry,
|
|
&memberOfUserEntry
|
|
};
|
|
|
|
DSGetObjectTableEntry g_UserObjectEntry =
|
|
{
|
|
L"user",
|
|
g_pszUser,
|
|
DSGET_USER_COMMANDS,
|
|
USAGE_DSGET_USER,
|
|
sizeof(UserAttributeTable)/sizeof(PDSATTRIBUTETABLEENTRY),
|
|
UserAttributeTable,
|
|
};
|
|
|
|
//
|
|
// Contact
|
|
//
|
|
|
|
PDSGET_ATTR_TABLE_ENTRY ContactAttributeTable[] =
|
|
{
|
|
&descriptionEntry,
|
|
&firstNameContactEntry,
|
|
&middleInitialContactEntry,
|
|
&lastNameContactEntry,
|
|
&displayNameContactEntry,
|
|
&officeContactEntry,
|
|
&telephoneContactEntry,
|
|
&emailContactEntry,
|
|
&homeTelephoneContactEntry,
|
|
&pagerContactEntry,
|
|
&mobileContactEntry,
|
|
&faxContactEntry,
|
|
&titleContactEntry,
|
|
&departmentContactEntry,
|
|
&companyContactEntry,
|
|
};
|
|
|
|
DSGetObjectTableEntry g_ContactObjectEntry =
|
|
{
|
|
L"contact",
|
|
g_pszContact,
|
|
DSGET_CONTACT_COMMANDS,
|
|
USAGE_DSGET_CONTACT,
|
|
sizeof(ContactAttributeTable)/sizeof(PDSATTRIBUTETABLEENTRY),
|
|
ContactAttributeTable,
|
|
};
|
|
|
|
//
|
|
// Computer
|
|
//
|
|
|
|
PDSGET_ATTR_TABLE_ENTRY ComputerAttributeTable[] =
|
|
{
|
|
&descriptionEntry,
|
|
&ComputerSAMEntry,
|
|
&ComputerSIDEntry,
|
|
&locComputerEntry,
|
|
&disableComputerEntry,
|
|
&memberOfComputerEntry,
|
|
};
|
|
|
|
DSGetObjectTableEntry g_ComputerObjectEntry =
|
|
{
|
|
L"computer",
|
|
g_pszComputer,
|
|
DSGET_COMPUTER_COMMANDS,
|
|
USAGE_DSGET_COMPUTER,
|
|
sizeof(ComputerAttributeTable)/sizeof(PDSATTRIBUTETABLEENTRY),
|
|
ComputerAttributeTable,
|
|
};
|
|
|
|
//
|
|
// Group
|
|
//
|
|
PDSGET_ATTR_TABLE_ENTRY GroupAttributeTable[] =
|
|
{
|
|
&descriptionEntry,
|
|
&samNameGroupEntry,
|
|
&GroupSIDEntry,
|
|
&groupScopeTypeEntry,
|
|
&groupSecurityTypeEntry,
|
|
&memberOfGroupEntry,
|
|
&membersGroupEntry,
|
|
};
|
|
|
|
DSGetObjectTableEntry g_GroupObjectEntry =
|
|
{
|
|
L"group",
|
|
g_pszGroup,
|
|
DSGET_GROUP_COMMANDS,
|
|
USAGE_DSGET_GROUP,
|
|
sizeof(GroupAttributeTable)/sizeof(PDSATTRIBUTETABLEENTRY),
|
|
GroupAttributeTable,
|
|
};
|
|
|
|
|
|
//
|
|
// OU
|
|
//
|
|
PDSGET_ATTR_TABLE_ENTRY OUAttributeTable[] =
|
|
{
|
|
&descriptionEntry
|
|
};
|
|
|
|
DSGetObjectTableEntry g_OUObjectEntry =
|
|
{
|
|
L"ou",
|
|
g_pszOU,
|
|
NULL,
|
|
USAGE_DSGET_OU,
|
|
sizeof(OUAttributeTable)/sizeof(PDSATTRIBUTETABLEENTRY),
|
|
OUAttributeTable,
|
|
};
|
|
|
|
|
|
//
|
|
// Server
|
|
//
|
|
PDSGET_ATTR_TABLE_ENTRY ServerAttributeTable[] =
|
|
{
|
|
&dnsNameServerEntry,
|
|
&siteServerEntry,
|
|
&isGCServerEntry
|
|
};
|
|
|
|
DSGetObjectTableEntry g_ServerObjectEntry =
|
|
{
|
|
L"server",
|
|
g_pszServer,
|
|
DSGET_SERVER_COMMANDS,
|
|
USAGE_DSGET_SERVER,
|
|
sizeof(ServerAttributeTable)/sizeof(PDSATTRIBUTETABLEENTRY),
|
|
ServerAttributeTable,
|
|
};
|
|
|
|
//
|
|
// Site
|
|
//
|
|
PDSGET_ATTR_TABLE_ENTRY SiteAttributeTable[] =
|
|
{
|
|
&autoTopSiteEntry,
|
|
&cacheGroupsSiteEntry,
|
|
&prefGCSiteEntry
|
|
};
|
|
|
|
DSGetObjectTableEntry g_SiteObjectEntry =
|
|
{
|
|
L"site",
|
|
g_pszSite,
|
|
DSGET_SITE_COMMANDS,
|
|
USAGE_DSGET_SITE,
|
|
sizeof(SiteAttributeTable)/sizeof(PDSATTRIBUTETABLEENTRY),
|
|
SiteAttributeTable,
|
|
};
|
|
|
|
//
|
|
// Subnet
|
|
//
|
|
PDSGET_ATTR_TABLE_ENTRY SubnetAttributeTable[] =
|
|
{
|
|
&descriptionEntry,
|
|
&locSubnetEntry,
|
|
&siteSubnetEntry
|
|
};
|
|
|
|
DSGetObjectTableEntry g_SubnetObjectEntry =
|
|
{
|
|
L"subnet",
|
|
g_pszSubnet,
|
|
DSGET_SUBNET_COMMANDS,
|
|
USAGE_DSGET_SUBNET,
|
|
sizeof(SubnetAttributeTable)/sizeof(PDSATTRIBUTETABLEENTRY),
|
|
SubnetAttributeTable,
|
|
};
|
|
|
|
//+-------------------------------------------------------------------------
|
|
// Object Table
|
|
//--------------------------------------------------------------------------
|
|
PDSGetObjectTableEntry g_DSObjectTable[] =
|
|
{
|
|
&g_OUObjectEntry,
|
|
&g_UserObjectEntry,
|
|
&g_ContactObjectEntry,
|
|
&g_ComputerObjectEntry,
|
|
&g_GroupObjectEntry,
|
|
&g_ServerObjectEntry,
|
|
&g_SiteObjectEntry,
|
|
&g_SubnetObjectEntry,
|
|
NULL
|
|
};
|