################################################################################################### Version 0.98 01/20/1999 contains the core lanmanager calls ################################################################################################### Version 1.00 04/17/1999 Fixed Bugs: NetUserEnum bug with the filter argument fixed (filter constants work now) NetUserSetInfo bug with primary_group_id fixed (primary group id will be set now) New: StartService StopService PauseService ContinueService InterrogateService ControlService CreateService DeleteService EnumServicesStatus EnumDependentServices ChangeServiceConfig ################################################################################################### Version 1.01 04/17/1999 Fixed Bugs: New: GetServiceDisplayName GetServiceKeyName LockServiceDatabase UnlockServiceDatabase QueryServiceLockStatus QueryServiceConfig QueryServiceStatus QueryServiceObjectSecurity SetServiceObjectSecurity ################################################################################################### Version 1.02 05/12/1999 Fixed Bugs: New: I_NetLogonControl2 LogonControlRediscover LogonControlTCQuery LogonControlTransportNotify LogonControlFindUser I_NetGetDCList ################################################################################################### Version 1.03 08/06/1999 Fixed Bugs: NetGroupEnum (error 234 - more data available) NetGroupGetUsers (error 234 - more data available) NetLocalGroupEnum (error 234 - more data available) NetLocalGroupGetMembers (error 234 - more data available) NetShareGetInfo (runtime exception if there is not security on the share) New: LsaQueryInformationPolicy LsaSetInformationPolicy LsaQueryAuditLogPolicy LsaQueryAuditEventsPolicy LsaSetAuditEventsPolicy LsaQueryPrimaryDomainPolicy LsaSetPrimaryDomainPolicy LsaQueryPdAccountPolicy LsaQueryAccountDomainPolicy LsaSetAccountDomainPolicy LsaQueryServerRolePolicy LsaSetServerRolePolicy LsaQueryReplicaSourcePolicy LsaSetReplicaSourcePolicy LsaQueryDefaultQuotaPolicy LsaSetDefaultQuotaPolicy LsaQueryAuditFullPolicy LsaSetAuditFullPolicy LsaQueryDnsDomainPolicy LsaSetDnsDomainPolicy LsaEnumerateTrustedDomains LsaLookupNames LsaLookupSids LsaEnumerateAccountsWithUserRight LsaEnumerateAccountRights LsaAddAccountRights LsaRemoveAccountRights ReadEventLog GetEventDescription GetEventDescription BackupEventLog ClearEventLog ReportEvent GetNumberOfEventLogRecords GetOldestEventLogRecord ################################################################################################### Version 1.04 11/17/1999 Fixed Bugs: NetShareEnum - access violation (error 0xc0000005) if you are not an administrator NetShareGetInfo - access violation (error 0xc0000005) if you are not an administrator NetServerGetInfo - access violation (error 0xc0000005) if you are not an administrator NetSessionEnum - access violation (error 0xc0000005) if you are not an administrator NetSessionGetInfo - access violation (error 0xc0000005) if you are not an administrator NetWkstaGetInfo - access violation (error 0xc0000005) if you are not an administrator Message "Wrong build number ..." in install.pl fixed if you install the module with ActivePerl 518 or above New: BuildSecurityDescriptor - builds a security descriptor structure to set permissions on shares or services PPM ready installation (Win32-Lanman.ppd) ################################################################################################### Version 1.04a 11/30/1999 Fixed Bugs: NetShareEnum - error 50 if the server is not NT NetShareGetInfo - error 50 if the server is not NT NetServerGetInfo - access violation (error 0xc0000005) if the server is not NT NetWkstaGetInfo - error 998 if the server is not NT New: ################################################################################################### Version 1.05 01/25/2000 Fixed Bugs: NetEnumerateTrustedDomains - returns the right error code now New: Version information is available now in the lanman.pll and lanman.dll files. It's not longer necessary to put two backslashes in front of a server name. The module will preface all server names with two backslashes if they are missing. Jenda Krynicky made a better layout and removed some mistakes in the lanman.pm. Thanks again. The following Windows Terminal Server APIs are supportted: WTSEnumerateServers WTSOpenServer WTSCloseServer WTSEnumerateSessions WTSEnumerateProcesses WTSTerminateProcess WTSQuerySessionInformation WTSQueryUserConfig WTSSetUserConfig WTSSendMessage WTSDisconnectSession WTSLogoffSession WTSShutdownSystem WTSWaitSystemEvent SV_TYPE_CLUSTER_NT - new constant for NetServerEnum SV_TYPE_DCE - new constant for NetServerEnum SV_TYPE_TERMINALSERVER - new constant for NetServerEnum Removed: The constants FILTER_PROXY_ACCOUNT, KERB_ETYPE_DES_CBC_MD5_EXP, KERB_ETYPE_DES_PLAIN_EXP, KERB_LOGON_EMAIL_NAMES, KERB_LOGON_SUBUATH and KERB_LOGON_UPDATE_STATISTICS have been removed because they are no longer supported in the platform sdk. ################################################################################################### Version 1.05a 03/29/2000 Fixed Bugs: WTSQuerySessionInformation - second definition removed from lanman.cpp WTSInfoClassAll - second definition removed from lanman.pm WTSSetUserConfig - setting some properties fixed ReadEventLog - reads events from the eventlog or events from a file saved with BackupEventLog; memory leaks fixed QueryServiceObjectSecurity - error 6 - invalid handle ChangeServiceConfig - several properties of a sevice may be changed now without to call QueryServiceConfig before New: ################################################################################################### Version 1.06 06/22/2000 Fixed Bugs: GetLastError - stack adjustment corrected New: OWNER_SECURITY_INFORMATION - constant added to retrieve/set security GROUP_SECURITY_INFORMATION - constant added to retrieve/set security DACL_SECURITY_INFORMATION - constant added to retrieve/set security SACL_SECURITY_INFORMATION - constant added to retrieve/set security PROTECTED_DACL_SECURITY_INFORMATION - constant added to retrieve/set security (not tested) PROTECTED_SACL_SECURITY_INFORMATION - constant added to retrieve/set security (not tested) UNPROTECTED_DACL_SECURITY_INFORMATION - constant added to retrieve/set security (not tested) UNPROTECTED_SACL_SECURITY_INFORMATION - constant added to retrieve/set security (not tested) DFS_STORAGE_STATE_ACTIVE - constant added to retrieve/set dfs state SV_TYPES - returns a hash with the SV_* constants SERVICE_STATES - returns a hash with the service states SERVICE_TYPES - returns a hash with the service types WTS_STATES - returns a hash with the wts event states USER_ENUM_FILTERS - returns a hash with the user enum filter values SidToString - converts a binary sid to a textual form like S-1-... StringToSid - converts a text sid to binary NetConnectionEnum - enums connections to a share or from a computer NetRemoteComputerSupports - retrieves the optional features the remote server supports NetGetJoinableOUs - W2K api NetGetJoinInformation - W2K api NetJoinDomain - W2K api NetRenameMachineInDomain - W2K api NetUnjoinDomain - W2K api NetValidateName - W2K api NetRegisterDomainNameChangeNotification - W2K api NetUnregisterDomainNameChangeNotification - W2K api NetDfsAddFtRoot - W2K api NetDfsRemoveFtRoot - W2K api NetDfsRemoveFtRootForced - W2K api NetDfsAddStdRoot - W2K api NetDfsAddStdRootForced - W2K api NetDfsRemoveStdRoot - W2K api NetDfsManagerInitialize - W2K api NetDfsGetClientInfo - W2K api NetDfsSetClientInfo - W2K api NetDfsGetDcAddress - W2K api ################################################################################################### Version 1.07 10/07/2000 Fixed Bugs: New: Support for Perl 5.6 ################################################################################################### Version 1.08 08/25/2000 Fixed Bugs: NetRemoteComputerSupports - returns the correct supported options now NetValidateName - returns the correct result now NetValidateName - returns the correct result now NetDfsAdd - bug with preceding backslashes in the server parameter corrected NetGroupGetUsers - returns all group users now New: SERVICE_NO_CHANGE - constant added to support services SERVICE_CONTROL_NETBINDADD - constant added to support services SERVICE_CONTROL_NETBINDREMOVE - constant added to support services SERVICE_CONTROL_NETBINDENABLE - constant added to support services SERVICE_CONTROL_NETBINDDISABLE - constant added to support services SERVICE_CONTROL_DEVICEEVENT - constant added to support services SERVICE_CONTROL_HARDWAREPROFILECHANGE - constant added to support services SERVICE_CONTROL_POWEREVENT - constant added to support services SERVICE_RUNS_IN_SYSTEM_PROCESS - constant added to support services SERVICE_CONFIG_FAILURE_ACTIONS - constant added to support services SERVICE_CONFIG_FAILURE_ACTIONS - constant added to support services SERVICE_ADAPTER - constant added to support services SERVICE_RECOGNIZER_DRIVER - constant added to support services SERVICE_TYPE_ALL - constant added to support services SC_MANAGER_ALL_ACCESS - constant added to support services SC_MANAGER_CONNECT - constant added to support services SC_MANAGER_CREATE_SERVICE - constant added to support services SC_MANAGER_ENUMERATE_SERVICE - constant added to support services SC_MANAGER_LOCK - constant added to support services SC_MANAGER_MODIFY_BOOT_CONFIG - constant added to support services SC_MANAGER_QUERY_LOCK_STATUS - constant added to support services SC_ACTION_NONE - constant added to support services SC_ACTION_REBOOT - constant added to support services SC_ACTION_RESTART - constant added to support services SC_ACTION_RUN_COMMAND - constant added to support services SC_STATUS_PROCESS_INFO - constant added to support services ChangeServiceConfig2 - W2K api QueryServiceConfig2 - W2K api QueryServiceStatusEx - W2K api EnumServicesStatusEx - W2K api Documentation for the W2K api completed. ################################################################################################### Version 1.0.8.1 09/16/2000 Fixed Bugs: NetUserEnum - returns the correct result now NetUserGetGroups - returns the correct result now NetUserSetGroups - returns the correct result now New: ################################################################################################### Version 1.0.9.0 05/24/2001 The location of the html doc (lanman.html) was changed. It will installed in the folder \html\site\lib\win32. Fixed Bugs: NetUserGetInfo - returns the user flags as unicode string NetUserSetInfo - destruction of user wts settings fixed NetLocalGroupGetMembers - if an account was moved from the domain to the AD or was removed in a account domain NetLocalGroupGetMembers returns only the account sid; in earlier versions NetLocalGroupGetMembers failed with an error 2220 (NERR_GroupNotFound) NetDfsRemove - the server parameter may not begin with backslashes; this is in contrast with the msdn documentation and seems to be a bug in the dfs implementation; however, a server name without backslashes will be passed to the NT function NetDfsEnum - memory leak fixed NetDfsGetInfo - memory leak fixed NetDfsGetClientInfo - memory leak fixed NetFileEnum - memory leak fixed NetQueryDisplayInformation - memory leak fixed NetLocalGroupEnum - memory leak fixed NetDfsLocalGroupGetMembers - memory leak fixed NetGroupEnum - memory leak fixed NetGroupGetMembers - memory leak fixed LsaQueryInformationPolicy - memory leak fixed LsaEnumerateTrustedDomains - memory leak fixed LsaLookupNames - memory leak fixed LsaLookupSids - memory leak fixed NetReplExportDirEnum - memory leak fixed NetReplImportDirEnum - memory leak fixed NetScheduleJobEnum - memory leak fixed NetServerEnum - memory leak fixed NetServerTransportEnum - memory leak fixed EnumServicesStatus - memory leak fixed EnumDependentServices - memory leak fixed QueryServiceConfig - memory leak fixed QueryServiceConfig2 - memory leak fixed EnumservicesStatusEx - memory leak fixed NetSessionEnum - memory leak fixed NetDfsEnum - memory leak fixed NetShareEnum - memory leak fixed NetConnectionEnum - memory leak fixed WTSEnumerateServers - memory leak fixed WTSEnumerateSessions - memory leak fixed WTSEnumerateProcesses - memory leak fixed NetUseEnum - memory leak fixed NetUserEnum - memory leak fixed NetUserGetGroups - memory leak fixed NetUserGetLocalGroups - memory leak fixed NetWkstaTransportEnum - memory leak fixed NetWkstaUserEnum - memory leak fixed New constants: CONNDLG_CONN_POINT - constant added to support WNetConnectionDialog call CONNDLG_HIDE_BOX - constant added to support WNetConnectionDialog call CONNDLG_NOT_PERSIST - constant added to support WNetConnectionDialog call CONNDLG_PERSIST - constant added to support WNetConnectionDialog call CONNDLG_RO_PATH - constant added to support WNetConnectionDialog call CONNDLG_USE_MRU - constant added to support WNetConnectionDialog call CONNECT_INTERACTIVE - constant added to support WNetUseConnection call CONNECT_LOCALDRIVE - constant added to support WNetUseConnection call CONNECT_PROMPT - constant added to support WNetUseConnection call CONNECT_REDIRECT - constant added to support WNetUseConnection call CONNECT_UPDATE_PROFILE - constant added to support WNetAddConnection call DISC_UPDATE_PROFILE - constant added to support WNetDisconnectDialog call DISC_NO_FORCE - constant added to support WNetDisconnectDialog call REMOTE_NAME_INFO_LEVEL - constant added to support WNetGetUniversalName call RESOURCE_CONTEXT - constant added to support WNetEnumResource call RESOURCE_RECENT - constant added to support WNetEnumResource call RESOURCEUSAGE_ALL - constant added to support WNetEnumResource call UNIVERSAL_NAME_INFO_LEVEL - constant added to support WNetGetUniversalName call WNNC_* - constants added to support WNetGetNetworkInformation call New functions: LsaSetTrustedDomainInformation LsaSetTrustedDomainInfo LsaSetTrustedDomainNameInfo LsaSetTrustedPosixOffsetInfo LsaSetTrustedPasswordInfo LsaRetrievePrivateData LsaStorePrivateData NetLocalGroupAddMembersBySid NetLocalGroupDelMembersBySid NetLocalGroupSetMembersBySid WNetAddConnection WNetCancelConnection WNetEnumResources WNetConnectionDialog WNetDisconnectDialog WNetGetConnection WNetGetNetworkInformation WNetGetProviderName WNetGetResourceInformation WNetGetResourceParent WNetGetUniversalName WNetGetUser WNetUseConnection NetUserCheckPassword GuidToString StringToGuid Removed: The constants ACCESS_SYSTEM_SECURITY DELETE GENERIC_ALL GENERIC_EXECUTE GENERIC_READ GENERIC_WRITE MAXIMUM_ALLOWED PROTECTED_DACL_SECURITY_INFORMATION PROTECTED_SACL_SECURITY_INFORMATION READ_CONTROL SYNCHRONIZE SPECIFIC_RIGHTS_ALL STANDARD_RIGHTS_ALL STANDARD_RIGHTS_REQUIRED WRITE_DAC WRITE_OWNER has been removed because they are not used by the module. ################################################################################################### Version 1.0.9.1 01/10/2002 Fixed Bugs: NetLocalGroupEnum - does not run in an infinite loop furthermore NetLocalGroupGetMembers - does not run in an infinite loop furthermore NetGroupEnum - does not run in an infinite loop furthermore NetGroupGetUsers - does not run in an infinite loop furthermore NetMessageNameEnum - does not run in an infinite loop furthermore ReadEventLog - out of memory bug fixed GetEventDescription - bug fixed if more than one dll is registered for an event $Version variable changed to $VERSION in lanman.pm (because of the CPAN indexer) New: ################################################################################################### Version 1.0.9.2 02/01/2002 Fixed Bugs: Bug fixed which caused that Perl hangs and eats up memory if you previously have called a function from the modul. The bug seem to appear only with NT4 SP6 and Perl 5.6.1. New: ################################################################################################### Version 1.0.10.0 01/10/2003 Fixed Bugs: The following constants are exported by the lanman and the win32 modules: DACL_SECURITY_INFORMATION GROUP_SECURITY_INFORMATION OWNER_SECURITY_INFORMATION SACL_SECURITY_INFORMATION To avoid the export of these constants, you may use the following statement: use Win32::Lanman qw( !:WIN32_MOD ); New: Support for Perl 5.8. Removed: Perl 5.003_07 is not longer supported.