home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 May / Chip_2000-05_cd1.bin / zkuste / Perl / ActivePerl-5.6.0.613.msi / 䆊䌷䈹䈙䏵-䞅䞆䞀㡆䞃䄦䠥 / _cc98517a683285d0a0e32b06920ddf2a < prev    next >
Text File  |  2000-03-23  |  11KB  |  286 lines

  1.  
  2. <HTML>
  3. <HEAD>
  4. <TITLE>Win32::NetAdmin - manage network groups and users in perl</TITLE>
  5. <LINK REL="stylesheet" HREF="../../../Active.css" TYPE="text/css">
  6. <LINK REV="made" HREF="mailto:">
  7. </HEAD>
  8.  
  9. <BODY>
  10. <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%>
  11. <TR><TD CLASS=block VALIGN=MIDDLE WIDTH=100% BGCOLOR="#cccccc">
  12. <STRONG><P CLASS=block> Win32::NetAdmin - manage network groups and users in perl</P></STRONG>
  13. </TD></TR>
  14. </TABLE>
  15.  
  16. <A NAME="__index__"></A>
  17. <!-- INDEX BEGIN -->
  18.  
  19. <UL>
  20.  
  21.     <LI><A HREF="#name">NAME</A></LI><LI><A HREF="#supportedplatforms">SUPPORTED PLATFORMS</A></LI>
  22.  
  23.     <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
  24.     <LI><A HREF="#description">DESCRIPTION</A></LI>
  25.     <LI><A HREF="#functions">FUNCTIONS</A></LI>
  26.     <UL>
  27.  
  28.         <LI><A HREF="#note">NOTE</A></LI>
  29.     </UL>
  30.  
  31.     <LI><A HREF="#example">EXAMPLE</A></LI>
  32. </UL>
  33. <!-- INDEX END -->
  34.  
  35. <HR>
  36. <P>
  37. <H1><A NAME="name">NAME</A></H1>
  38. <P>Win32::NetAdmin - manage network groups and users in perl</P>
  39. <P>
  40. <HR>
  41. <H1><A NAME="supportedplatforms">SUPPORTED PLATFORMS</A></H1>
  42. <UL>
  43. <LI>Windows</LI>
  44. </UL>
  45. <HR>
  46. <H1><A NAME="synopsis">SYNOPSIS</A></H1>
  47. <PRE>
  48.         use Win32::NetAdmin;</PRE>
  49. <P>
  50. <HR>
  51. <H1><A NAME="description">DESCRIPTION</A></H1>
  52. <P>This module offers control over the administration of groups and users over a
  53. network.</P>
  54. <P>
  55. <HR>
  56. <H1><A NAME="functions">FUNCTIONS</A></H1>
  57. <P>
  58. <H2><A NAME="note">NOTE</A></H2>
  59. <P>All of the functions return FALSE (0) if they fail, unless otherwise noted.
  60. <CODE>server</CODE> is optional for all the calls below. If not given the local machine is
  61. assumed.</P>
  62. <DL>
  63. <DT><STRONG><A NAME="item_GetDomainController">GetDomainController(server, domain, returnedName)</A></STRONG><BR>
  64. <DD>
  65. Returns the name of the domain controller for server.
  66. <P></P>
  67. <DT><STRONG><A NAME="item_GetAnyDomainController">GetAnyDomainController(server, domain, returnedName)</A></STRONG><BR>
  68. <DD>
  69. Returns the name of any domain controller for a domain that is directly trusted
  70. by the server.
  71. <P></P>
  72. <DT><STRONG><A NAME="item_UserCreate">UserCreate(server, userName, password, passwordAge, privilege, homeDir, comment, flags, scriptPath)</A></STRONG><BR>
  73. <DD>
  74. Creates a user on server with password, passwordAge, privilege, homeDir, comment,
  75. flags, and scriptPath.
  76. <P></P>
  77. <DT><STRONG><A NAME="item_UserDelete">UserDelete(server, user)</A></STRONG><BR>
  78. <DD>
  79. Deletes a user from server.
  80. <P></P>
  81. <DT><STRONG><A NAME="item_UserGetAttributes">UserGetAttributes(server, userName, password, passwordAge, privilege, homeDir, comment, flags, scriptPath)</A></STRONG><BR>
  82. <DD>
  83. Gets password, passwordAge, privilege, homeDir, comment, flags, and scriptPath
  84. for user.
  85. <P></P>
  86. <DT><STRONG><A NAME="item_UserSetAttributes">UserSetAttributes(server, userName, password, passwordAge, privilege, homeDir, comment, flags, scriptPath)</A></STRONG><BR>
  87. <DD>
  88. Sets password, passwordAge, privilege, homeDir, comment, flags, and scriptPath
  89. for user.
  90. <P></P>
  91. <DT><STRONG><A NAME="item_UserChangePassword">UserChangePassword(domainname, username, oldpassword, newpassword)</A></STRONG><BR>
  92. <DD>
  93. Changes a users password. Can be run under any account.
  94. <P></P>
  95. <DT><STRONG><A NAME="item_UsersExist">UsersExist(server, userName)</A></STRONG><BR>
  96. <DD>
  97. Checks if a user exists.
  98. <P></P>
  99. <DT><STRONG><A NAME="item_GetUsers">GetUsers(server, filter, userRef)</A></STRONG><BR>
  100. <DD>
  101. Fills userRef with user names if it is an array reference and with the user
  102. names and the full names if it is a hash reference.
  103. <P></P>
  104. <DT><STRONG><A NAME="item_GroupCreate">GroupCreate(server, group, comment)</A></STRONG><BR>
  105. <DD>
  106. Creates a group.
  107. <P></P>
  108. <DT><STRONG><A NAME="item_GroupDelete">GroupDelete(server, group)</A></STRONG><BR>
  109. <DD>
  110. Deletes a group.
  111. <P></P>
  112. <DT><STRONG><A NAME="item_GroupGetAttributes">GroupGetAttributes(server, groupName, comment)</A></STRONG><BR>
  113. <DD>
  114. Gets the comment.
  115. <P></P>
  116. <DT><STRONG><A NAME="item_GroupSetAttributes">GroupSetAttributes(server, groupName, comment)</A></STRONG><BR>
  117. <DD>
  118. Sets the comment.
  119. <P></P>
  120. <DT><STRONG><A NAME="item_GroupAddUsers">GroupAddUsers(server, groupName, users)</A></STRONG><BR>
  121. <DD>
  122. Adds a user to a group.
  123. <P></P>
  124. <DT><STRONG><A NAME="item_GroupDeleteUsers">GroupDeleteUsers(server, groupName, users)</A></STRONG><BR>
  125. <DD>
  126. Deletes a users from a group.
  127. <P></P>
  128. <DT><STRONG><A NAME="item_GroupIsMember">GroupIsMember(server, groupName, user)</A></STRONG><BR>
  129. <DD>
  130. Returns TRUE if user is a member of groupName.
  131. <P></P>
  132. <DT><STRONG><A NAME="item_GroupGetMembers">GroupGetMembers(server, groupName, userArrayRef)</A></STRONG><BR>
  133. <DD>
  134. Fills userArrayRef with the members of groupName.
  135. <P></P>
  136. <DT><STRONG><A NAME="item_LocalGroupCreate">LocalGroupCreate(server, group, comment)</A></STRONG><BR>
  137. <DD>
  138. Creates a local group.
  139. <P></P>
  140. <DT><STRONG><A NAME="item_LocalGroupDelete">LocalGroupDelete(server, group)</A></STRONG><BR>
  141. <DD>
  142. Deletes a local group.
  143. <P></P>
  144. <DT><STRONG><A NAME="item_LocalGroupGetAttributes">LocalGroupGetAttributes(server, groupName, comment)</A></STRONG><BR>
  145. <DD>
  146. Gets the comment.
  147. <P></P>
  148. <DT><STRONG><A NAME="item_LocalGroupSetAttributes">LocalGroupSetAttributes(server, groupName, comment)</A></STRONG><BR>
  149. <DD>
  150. Sets the comment.
  151. <P></P>
  152. <DT><STRONG><A NAME="item_LocalGroupIsMember">LocalGroupIsMember(server, groupName, user)</A></STRONG><BR>
  153. <DD>
  154. Returns TRUE if user is a member of groupName.
  155. <P></P>
  156. <DT><STRONG><A NAME="item_LocalGroupGetMembers">LocalGroupGetMembers(server, groupName, userArrayRef)</A></STRONG><BR>
  157. <DD>
  158. Fills userArrayRef with the members of groupName.
  159. <P></P>
  160. <DT><STRONG><A NAME="item_LocalGroupGetMembersWithDomain">LocalGroupGetMembersWithDomain(server, groupName, userRef)</A></STRONG><BR>
  161. <DD>
  162. This function is similar LocalGroupGetMembers but accepts an array or
  163. a hash reference. Unlike LocalGroupGetMembers it returns each user name
  164. as <CODE>DOMAIN\USERNAME</CODE>. If a hash reference is given, the function
  165. returns to each user or group name the type (group, user, alias etc.).
  166. The possible types are as follows:
  167. <PRE>
  168.   $SidTypeUser = 1;
  169.   $SidTypeGroup = 2;
  170.   $SidTypeDomain = 3;
  171.   $SidTypeAlias = 4;
  172.   $SidTypeWellKnownGroup = 5;
  173.   $SidTypeDeletedAccount = 6;
  174.   $SidTypeInvalid = 7;
  175.   $SidTypeUnknown = 8;</PRE>
  176. <P></P>
  177. <DT><STRONG><A NAME="item_LocalGroupAddUsers">LocalGroupAddUsers(server, groupName, users)</A></STRONG><BR>
  178. <DD>
  179. Adds a user to a group.
  180. <P></P>
  181. <DT><STRONG><A NAME="item_LocalGroupDeleteUsers">LocalGroupDeleteUsers(server, groupName, users)</A></STRONG><BR>
  182. <DD>
  183. Deletes a users from a group.
  184. <P></P>
  185. <DT><STRONG><A NAME="item_GetServers">GetServers(server, domain, flags, serverRef)</A></STRONG><BR>
  186. <DD>
  187. Gets an array of server names or an hash with the server names and the
  188. comments as seen in the Network Neighborhood or the server manager.
  189. For flags, see SV_TYPE_* constants.
  190. <P></P>
  191. <DT><STRONG><A NAME="item_GetTransports">GetTransports(server, transportRef)</A></STRONG><BR>
  192. <DD>
  193. Enumerates the network transports of a computer. If transportRef is an array
  194. reference, it is filled with the transport names. If transportRef is a hash
  195. reference then a hash of hashes is filled with the data for the transports.
  196. <P></P>
  197. <DT><STRONG><A NAME="item_LoggedOnUsers">LoggedOnUsers(server, userRef)</A></STRONG><BR>
  198. <DD>
  199. Gets an array or hash with the users logged on at the specified computer. If
  200. userRef is a hash reference, the value is a semikolon separated string of
  201. username, logon domain and logon server.
  202. <P></P>
  203. <DT><STRONG><A NAME="item_GetAliasFromRID">GetAliasFromRID(server, RID, returnedName)</A></STRONG><BR>
  204. <DD>
  205. <DT><STRONG><A NAME="item_GetUserGroupFromRID">GetUserGroupFromRID(server, RID, returnedName)</A></STRONG><BR>
  206. <DD>
  207. Retrieves the name of an alias (i.e local group) or a user group for a RID
  208. from the specified server. These functions can be used for example to get the
  209. account name for the administrator account if it is renamed or localized.
  210. <P>Possible values for <CODE>RID</CODE>:</P>
  211. <PRE>
  212.   DOMAIN_ALIAS_RID_ACCOUNT_OPS
  213.   DOMAIN_ALIAS_RID_ADMINS
  214.   DOMAIN_ALIAS_RID_BACKUP_OPS
  215.   DOMAIN_ALIAS_RID_GUESTS
  216.   DOMAIN_ALIAS_RID_POWER_USERS
  217.   DOMAIN_ALIAS_RID_PRINT_OPS
  218.   DOMAIN_ALIAS_RID_REPLICATOR
  219.   DOMAIN_ALIAS_RID_SYSTEM_OPS
  220.   DOMAIN_ALIAS_RID_USERS
  221.   DOMAIN_GROUP_RID_ADMINS
  222.   DOMAIN_GROUP_RID_GUESTS
  223.   DOMAIN_GROUP_RID_USERS
  224.   DOMAIN_USER_RID_ADMIN
  225.   DOMAIN_USER_RID_GUEST</PRE>
  226. <P></P>
  227. <DT><STRONG><A NAME="item_GetServerDisks">GetServerDisks(server, arrayRef)</A></STRONG><BR>
  228. <DD>
  229. Returns an array with the disk drives of the specified server. The array
  230. contains two-character strings (drive letter followed by a colon).
  231. <P></P></DL>
  232. <P>
  233. <HR>
  234. <H1><A NAME="example">EXAMPLE</A></H1>
  235. <PRE>
  236.     # Simple script using Win32::NetAdmin to set the login script for
  237.     # all members of the NT group "Domain Users".  Only works if you
  238.     # run it on the PDC. (From Robert Spier <rspier@seas.upenn.edu>)
  239.     #
  240.     # FILTER_TEMP_DUPLICATE_ACCOUNTS
  241.     #   Enumerates local user account data on a domain controller.
  242.     #
  243.     # FILTER_NORMAL_ACCOUNT
  244.     #   Enumerates global user account data on a computer.
  245.     #
  246.     # FILTER_INTERDOMAIN_TRUST_ACCOUNT
  247.     #   Enumerates domain trust account data on a domain controller.
  248.     #
  249.     # FILTER_WORKSTATION_TRUST_ACCOUNT
  250.     #   Enumerates workstation or member server account data on a domain
  251.     #   controller.
  252.     #
  253.     # FILTER_SERVER_TRUST_ACCOUNT
  254.     #   Enumerates domain controller account data on a domain controller.</PRE>
  255. <PRE>
  256.     use Win32::NetAdmin qw(GetUsers GroupIsMember
  257.                            UserGetAttributes UserSetAttributes);</PRE>
  258. <PRE>
  259.     my %hash;
  260.     GetUsers("", FILTER_NORMAL_ACCOUNT , \%hash)
  261.         or die "GetUsers() failed: $^E";</PRE>
  262. <PRE>
  263.     foreach (keys %hash) {
  264.         my ($password, $passwordAge, $privilege,
  265.             $homeDir, $comment, $flags, $scriptPath);
  266.         if (GroupIsMember("", "Domain Users", $_)) {
  267.             print "Updating $_ ($hash{$_})\n";
  268.             UserGetAttributes("", $_, $password, $passwordAge, $privilege,
  269.                               $homeDir, $comment, $flags, $scriptPath)
  270.                 or die "UserGetAttributes() failed: $^E";
  271.             $scriptPath = "dnx_login.bat"; # this is the new login script
  272.             UserSetAttributes("", $_, $password, $passwordAge, $privilege,
  273.                               $homeDir, $comment, $flags, $scriptPath)
  274.                 or die "UserSetAttributes() failed: $^E";
  275.         }
  276.     }</PRE>
  277. <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%>
  278. <TR><TD CLASS=block VALIGN=MIDDLE WIDTH=100% BGCOLOR="#cccccc">
  279. <STRONG><P CLASS=block> Win32::NetAdmin - manage network groups and users in perl</P></STRONG>
  280. </TD></TR>
  281. </TABLE>
  282.  
  283. </BODY>
  284.  
  285. </HTML>
  286.