[NET] Implement the NET CONFIG WORKSTATION command

This commit is contained in:
Eric Kohl 2018-04-02 23:13:50 +02:00
parent 3261bbb7b9
commit 3031de8eed
9 changed files with 146 additions and 18 deletions

View file

@ -36,10 +36,13 @@ DisplayServerConfig(VOID)
ConPrintf(StdOut, L"%s\n\n", ServerInfo->sv102_comment);
PrintPaddedResourceString(IDS_CONFIG_SERVER_VERSION, nPaddedLength);
ConPuts(StdOut, L"...\n");
ConPrintf(StdOut, L"%lu.%lu\n",
ServerInfo->sv102_version_major,
ServerInfo->sv102_version_minor);
ConResPuts(StdOut, IDS_CONFIG_SERVER_ACTIVE);
for (i = 0; i < dwTotal; i++)
ConPuts(StdOut, L"\n");
for (i = 0; i < dwRead; i++)
{
ConPrintf(StdOut, L" %s (%s)\n",
&TransportInfo[i].svti0_transportname[8],
@ -78,6 +81,75 @@ static
INT
DisplayWorkstationConfig(VOID)
{
PWKSTA_INFO_100 WorkstationInfo = NULL;
PWKSTA_USER_INFO_1 UserInfo = NULL;
PWKSTA_TRANSPORT_INFO_0 TransportInfo = NULL;
DWORD dwRead = 0, dwTotal = 0, i;
INT nPaddedLength = 38;
NET_API_STATUS Status;
Status = NetWkstaGetInfo(NULL, 100, (PBYTE*)&WorkstationInfo);
if (Status != NERR_Success)
goto done;
Status = NetWkstaUserGetInfo(NULL, 1, (PBYTE*)&UserInfo);
if (Status != NERR_Success)
goto done;
Status = NetWkstaTransportEnum(NULL,
0,
(PBYTE*)&TransportInfo,
MAX_PREFERRED_LENGTH,
&dwRead,
&dwTotal,
NULL);
if (Status != NERR_Success)
goto done;
PrintPaddedResourceString(IDS_CONFIG_WORKSTATION_NAME, nPaddedLength);
ConPrintf(StdOut, L"\\\\%s\n", WorkstationInfo->wki100_computername);
PrintPaddedResourceString(IDS_CONFIG_WORKSTATION_FULLNAME, nPaddedLength);
ConPuts(StdOut, L"...\n");
PrintPaddedResourceString(IDS_CONFIG_WORKSTATION_USERNAME, nPaddedLength);
ConPrintf(StdOut, L"%s\n", UserInfo->wkui1_username);
ConPuts(StdOut, L"\n");
ConResPuts(StdOut, IDS_CONFIG_WORKSTATION_ACTIVE);
ConPuts(StdOut, L"\n");
for (i = 0; i < dwRead; i++)
{
ConPrintf(StdOut, L" %s (%s)\n",
&TransportInfo[i].wkti0_transport_name[8],
TransportInfo[i].wkti0_transport_address);
}
ConPuts(StdOut, L"\n");
PrintPaddedResourceString(IDS_CONFIG_WORKSTATION_VERSION, nPaddedLength);
ConPrintf(StdOut, L"%lu.%lu\n",
WorkstationInfo->wki100_ver_major,
WorkstationInfo->wki100_ver_minor);
ConPuts(StdOut, L"\n");
PrintPaddedResourceString(IDS_CONFIG_WORKSTATION_DOMAIN, nPaddedLength);
ConPrintf(StdOut, L"%s\n", WorkstationInfo->wki100_langroup);
PrintPaddedResourceString(IDS_CONFIG_WORKSTATION_LOGON, nPaddedLength);
ConPrintf(StdOut, L"%s\n", UserInfo->wkui1_logon_domain);
done:
if (TransportInfo != NULL)
NetApiBufferFree(TransportInfo);
if (UserInfo != NULL)
NetApiBufferFree(UserInfo);
if (WorkstationInfo != NULL)
NetApiBufferFree(WorkstationInfo);
return 0;
}

View file

@ -168,11 +168,18 @@ service can stop others. Some services cannot be stopped.\n\n"
IDS_CONFIG_SERVER_NAME "Server Name"
IDS_CONFIG_SERVER_COMMENT "Server Comment"
IDS_CONFIG_SERVER_VERSION "Software version"
IDS_CONFIG_SERVER_ACTIVE "Server is active on\n"
IDS_CONFIG_SERVER_ACTIVE "Server is active on"
IDS_CONFIG_SERVER_HIDDEN "Server hidden"
IDS_CONFIG_SERVER_USERS "Maximum Logged On Users"
IDS_CONFIG_SERVER_FILES "Maximum open files per session"
IDS_CONFIG_SERVER_IDLE "Idle session time (min)"
IDS_CONFIG_WORKSTATION_NAME "Computer name"
IDS_CONFIG_WORKSTATION_FULLNAME "Full Computer name"
IDS_CONFIG_WORKSTATION_USERNAME "User name"
IDS_CONFIG_WORKSTATION_ACTIVE "Workstation is active on"
IDS_CONFIG_WORKSTATION_VERSION "Software version"
IDS_CONFIG_WORKSTATION_DOMAIN "Workstation domain"
IDS_CONFIG_WORKSTATION_LOGON "Logon domain"
IDS_LOCALGROUP_ALIASES "Aliases for \\\\%s"
IDS_LOCALGROUP_ALIAS_NAME "Alias name"

View file

@ -170,11 +170,18 @@ service can stop others. Some services cannot be stopped.\n\n"
IDS_CONFIG_SERVER_NAME "Server Name"
IDS_CONFIG_SERVER_COMMENT "Server Comment"
IDS_CONFIG_SERVER_VERSION "Software version"
IDS_CONFIG_SERVER_ACTIVE "Server is active on\n"
IDS_CONFIG_SERVER_ACTIVE "Server is active on"
IDS_CONFIG_SERVER_HIDDEN "Server hidden"
IDS_CONFIG_SERVER_USERS "Maximum Logged On Users"
IDS_CONFIG_SERVER_FILES "Maximum open files per session"
IDS_CONFIG_SERVER_IDLE "Idle session time (min)"
IDS_CONFIG_WORKSTATION_NAME "Computer name"
IDS_CONFIG_WORKSTATION_FULLNAME "Full Computer name"
IDS_CONFIG_WORKSTATION_USERNAME "User name"
IDS_CONFIG_WORKSTATION_ACTIVE "Workstation is active on"
IDS_CONFIG_WORKSTATION_VERSION "Software version"
IDS_CONFIG_WORKSTATION_DOMAIN "Workstation domain"
IDS_CONFIG_WORKSTATION_LOGON "Logon domain"
IDS_LOCALGROUP_ALIASES "Alias de \\\\%s"
IDS_LOCALGROUP_ALIAS_NAME "Nombre del alias"

View file

@ -173,11 +173,18 @@ service can stop others. Some services cannot be stopped.\n\n"
IDS_CONFIG_SERVER_NAME "Server Name"
IDS_CONFIG_SERVER_COMMENT "Server Comment"
IDS_CONFIG_SERVER_VERSION "Software version"
IDS_CONFIG_SERVER_ACTIVE "Server is active on\n"
IDS_CONFIG_SERVER_ACTIVE "Server is active on"
IDS_CONFIG_SERVER_HIDDEN "Server hidden"
IDS_CONFIG_SERVER_USERS "Maximum Logged On Users"
IDS_CONFIG_SERVER_FILES "Maximum open files per session"
IDS_CONFIG_SERVER_IDLE "Idle session time (min)"
IDS_CONFIG_WORKSTATION_NAME "Computer name"
IDS_CONFIG_WORKSTATION_FULLNAME "Full Computer name"
IDS_CONFIG_WORKSTATION_USERNAME "User name"
IDS_CONFIG_WORKSTATION_ACTIVE "Workstation is active on"
IDS_CONFIG_WORKSTATION_VERSION "Software version"
IDS_CONFIG_WORKSTATION_DOMAIN "Workstation domain"
IDS_CONFIG_WORKSTATION_LOGON "Logon domain"
IDS_LOCALGROUP_ALIASES "Alias pentru \\\\%s"
IDS_LOCALGROUP_ALIAS_NAME "Nume alias"

View file

@ -169,11 +169,18 @@ service can stop others. Some services cannot be stopped.\n\n"
IDS_CONFIG_SERVER_NAME "Server Name"
IDS_CONFIG_SERVER_COMMENT "Server Comment"
IDS_CONFIG_SERVER_VERSION "Software version"
IDS_CONFIG_SERVER_ACTIVE "Server is active on\n"
IDS_CONFIG_SERVER_ACTIVE "Server is active on"
IDS_CONFIG_SERVER_HIDDEN "Server hidden"
IDS_CONFIG_SERVER_USERS "Maximum Logged On Users"
IDS_CONFIG_SERVER_FILES "Maximum open files per session"
IDS_CONFIG_SERVER_IDLE "Idle session time (min)"
IDS_CONFIG_WORKSTATION_NAME "Computer name"
IDS_CONFIG_WORKSTATION_FULLNAME "Full Computer name"
IDS_CONFIG_WORKSTATION_USERNAME "User name"
IDS_CONFIG_WORKSTATION_ACTIVE "Workstation is active on"
IDS_CONFIG_WORKSTATION_VERSION "Software version"
IDS_CONFIG_WORKSTATION_DOMAIN "Workstation domain"
IDS_CONFIG_WORKSTATION_LOGON "Logon domain"
IDS_LOCALGROUP_ALIASES "Псевдонимы для \\\\%s"
IDS_LOCALGROUP_ALIAS_NAME "Имя псевдонима"

View file

@ -169,11 +169,18 @@ service can stop others. Some services cannot be stopped.\n\n"
IDS_CONFIG_SERVER_NAME "Server Name"
IDS_CONFIG_SERVER_COMMENT "Server Comment"
IDS_CONFIG_SERVER_VERSION "Software version"
IDS_CONFIG_SERVER_ACTIVE "Server is active on\n"
IDS_CONFIG_SERVER_ACTIVE "Server is active on"
IDS_CONFIG_SERVER_HIDDEN "Server hidden"
IDS_CONFIG_SERVER_USERS "Maximum Logged On Users"
IDS_CONFIG_SERVER_FILES "Maximum open files per session"
IDS_CONFIG_SERVER_IDLE "Idle session time (min)"
IDS_CONFIG_WORKSTATION_NAME "Computer name"
IDS_CONFIG_WORKSTATION_FULLNAME "Full Computer name"
IDS_CONFIG_WORKSTATION_USERNAME "User name"
IDS_CONFIG_WORKSTATION_ACTIVE "Workstation is active on"
IDS_CONFIG_WORKSTATION_VERSION "Software version"
IDS_CONFIG_WORKSTATION_DOMAIN "Workstation domain"
IDS_CONFIG_WORKSTATION_LOGON "Logon domain"
IDS_LOCALGROUP_ALIASES "\\\\%s için başka adlar"
IDS_LOCALGROUP_ALIAS_NAME "Başka ad"

View file

@ -169,11 +169,18 @@ service can stop others. Some services cannot be stopped.\n\n"
IDS_CONFIG_SERVER_NAME "Server Name"
IDS_CONFIG_SERVER_COMMENT "Server Comment"
IDS_CONFIG_SERVER_VERSION "Software version"
IDS_CONFIG_SERVER_ACTIVE "Server is active on\n"
IDS_CONFIG_SERVER_ACTIVE "Server is active on"
IDS_CONFIG_SERVER_HIDDEN "Server hidden"
IDS_CONFIG_SERVER_USERS "Maximum Logged On Users"
IDS_CONFIG_SERVER_FILES "Maximum open files per session"
IDS_CONFIG_SERVER_IDLE "Idle session time (min)"
IDS_CONFIG_WORKSTATION_NAME "Computer name"
IDS_CONFIG_WORKSTATION_FULLNAME "Full Computer name"
IDS_CONFIG_WORKSTATION_USERNAME "User name"
IDS_CONFIG_WORKSTATION_ACTIVE "Workstation is active on"
IDS_CONFIG_WORKSTATION_VERSION "Software version"
IDS_CONFIG_WORKSTATION_DOMAIN "Workstation domain"
IDS_CONFIG_WORKSTATION_LOGON "Logon domain"
IDS_LOCALGROUP_ALIASES "\\\\%s 的别名"
IDS_LOCALGROUP_ALIAS_NAME "别名名称"

View file

@ -169,11 +169,18 @@ service can stop others. Some services cannot be stopped.\n\n"
IDS_CONFIG_SERVER_NAME "Server Name"
IDS_CONFIG_SERVER_COMMENT "Server Comment"
IDS_CONFIG_SERVER_VERSION "Software version"
IDS_CONFIG_SERVER_ACTIVE "Server is active on\n"
IDS_CONFIG_SERVER_ACTIVE "Server is active on"
IDS_CONFIG_SERVER_HIDDEN "Server hidden"
IDS_CONFIG_SERVER_USERS "Maximum Logged On Users"
IDS_CONFIG_SERVER_FILES "Maximum open files per session"
IDS_CONFIG_SERVER_IDLE "Idle session time (min)"
IDS_CONFIG_WORKSTATION_NAME "Computer name"
IDS_CONFIG_WORKSTATION_FULLNAME "Full Computer name"
IDS_CONFIG_WORKSTATION_USERNAME "User name"
IDS_CONFIG_WORKSTATION_ACTIVE "Workstation is active on"
IDS_CONFIG_WORKSTATION_VERSION "Software version"
IDS_CONFIG_WORKSTATION_DOMAIN "Workstation domain"
IDS_CONFIG_WORKSTATION_LOGON "Logon domain"
IDS_LOCALGROUP_ALIASES "別名 \\\\%s"
IDS_LOCALGROUP_ALIAS_NAME "別名名稱"

View file

@ -86,15 +86,22 @@
#define IDS_ACCOUNTS_STANDALONE_SERVER 212
#define IDS_ACCOUNTS_WORKSTATION 213
#define IDS_CONFIG_TEXT 230
#define IDS_CONFIG_SERVER_NAME 231
#define IDS_CONFIG_SERVER_COMMENT 232
#define IDS_CONFIG_SERVER_VERSION 233
#define IDS_CONFIG_SERVER_ACTIVE 234
#define IDS_CONFIG_SERVER_HIDDEN 235
#define IDS_CONFIG_SERVER_USERS 236
#define IDS_CONFIG_SERVER_FILES 237
#define IDS_CONFIG_SERVER_IDLE 238
#define IDS_CONFIG_TEXT 230
#define IDS_CONFIG_SERVER_NAME 231
#define IDS_CONFIG_SERVER_COMMENT 232
#define IDS_CONFIG_SERVER_VERSION 233
#define IDS_CONFIG_SERVER_ACTIVE 234
#define IDS_CONFIG_SERVER_HIDDEN 235
#define IDS_CONFIG_SERVER_USERS 236
#define IDS_CONFIG_SERVER_FILES 237
#define IDS_CONFIG_SERVER_IDLE 238
#define IDS_CONFIG_WORKSTATION_NAME 239
#define IDS_CONFIG_WORKSTATION_FULLNAME 240
#define IDS_CONFIG_WORKSTATION_USERNAME 241
#define IDS_CONFIG_WORKSTATION_ACTIVE 242
#define IDS_CONFIG_WORKSTATION_VERSION 243
#define IDS_CONFIG_WORKSTATION_DOMAIN 244
#define IDS_CONFIG_WORKSTATION_LOGON 245
#define IDS_LOCALGROUP_ALIASES 300