Procedimiento para agregar usuarios a un grupo
Última modificación: miércoles, 07 de julio de 2010
Hace referencia a: SharePoint Foundation 2010
Para agregar varios usuarios a un grupo en Microsoft SharePoint Foundation, use el método AddUserToGroup al agregar usuarios individuales nuevos o existentes, o el método AddUserCollectionToGroup al agregar una colección de usuarios existentes.
Procedimientos
Antes de empezar, cree una aplicación de Windows Forms en Microsoft Visual Studio. Para obtener información acerca de cómo definir una referencia web a un servicio web de SharePoint Foundation, vea Instrucciones para los servicios web.
Adición de varios usuarios de un sitio o subsitio
Use el método GetUserCollectionFromSite o el método GetUserCollectionFromWeb para devolver todos los usuarios de un sitio web. A continuación, procese una iteración de la colección de los usuarios y agregue cada uno de ellos a un grupo especificado mediante el método AddUserCollectionToGroup.
Para agregar usuarios a un grupo de un sitio o subsitio
Después de crear un proyecto de aplicación de Windows Forms y agregar una referencia web, abra Form1 en la vista Diseño, abra el Cuadro de herramientas y, a continuación, arrastre un control Button al formulario.
Haga doble clic en el botón para mostrar el editor de código y agregue las siguientes líneas de código al controlador de eventos Button1_Click.
'Declare and initialize a variable for the UserGroup Web service. Dim userGroup As New Web_Reference.UserGroup() 'Authenticate the current user by passing their default 'credentials to the Web service from the system credential cache and, 'if adding users from a subsite, set the Url property for the 'service. userGroup.Credentials = System.Net.CredentialCache.DefaultCredentials userGroup.Url = "http://Server_Name/Subsite_Name/_vti_bin/UserGroup.asmx" 'Declare an XmlNode object and initialize it with the XML response 'from either the GetUserCollectionFromWeb method or the 'GetUserCollectionFromSite method. Dim usersSite As System.Xml.XmlNode = userGroup.GetUserCollectionFromWeb() 'Declare another XmlNode object and initialize it with the first 'child node returned from the previous method. Dim userNode As System.Xml.XmlNode = usersSite.FirstChild 'Pass the first child node and its contents as the XMLNode object 'parameter for the method. userGroup.AddUserCollectionToGroup("Group_Name", userNode)
/*Declare and initialize a variable for the UserGroup Web service.*/ Web_Reference.UserGroup userGroup = new Web_Reference.UserGroup(); /*Authenticate the current user by passing their default credentials to the Web service from the system credential cache and, if adding users from a subsite, set the Url property for the service.*/ userGroup.Credentials = System.Net.CredentialCache.DefaultCredentials; userGroup.Url = "http://Server_Name/Subsite_Name/_vti_bin/UserGroup.asmx"; /*Declare an XmlNode object and initialize it with the XML response from either the GetUserCollectionFromWeb method or the GetUserCollectionFromSite method*/ System.Xml.XmlNode usersSite = userGroup.GetUserCollectionFromWeb(); /*Declare another XmlNode object and initialize it with the first child node returned from the previous method.*/ System.Xml.XmlNode userNode = usersSite.FirstChild; /*Pass the first child node and its contents as the XmlNode object parameter for the method.*/ userGroup.AddUserCollectionToGroup ("Group_Name",userNode);
En el menú Depurar, haga clic en Iniciar depuración para probar el formulario. Haga clic en el botón del formulario para agregar a los usuarios al grupo específico.
Adición de un usuario único
Use el método AddUserToGroup para agregar a un usuario nuevo o existente al grupo y use el método GetUserCollectionFromGroup para devolver información sobre todos los usuarios de un grupo.
Para agregar un único usuario a un grupo y mostrar los miembros del grupo.
Cree una aplicación de Windows Forms, agregue una referencia web y agregue cinco controles TextBox, un control Label y un control Button al formulario.
Haga doble clic en el botón para mostrar el editor de código y agregue las siguientes líneas de código al controlador de eventos Button1_Click.
'Declare and initialize a variable for the UserGroup Web service, 'and authenticate the current user by passing their default 'credentials to the Web service from the system credential cache. Dim userGroup As New Web_Reference.UserGroup() userGroup.Credentials = System.Net.CredentialCache.DefaultCredentials 'Gather data from the text boxes. Dim groupName As String = textBox1.Text Dim userName As String = textBox2.Text Dim userLoginName As String = textBox3.Text Dim userEmail As String = textBox4.Text Dim userNotes As String = textBox5.Text 'Add the specified user to the group. userGroup.AddUserToGroup(groupName, userName, userLoginName, userEmail, userNotes) 'Declare an XmlNode object and initialize it with the 'XML response from the GetUserCollectionFromGroup method, 'declare a second XmlNode object and initialize it with 'the first child of the first node returned, and then 'declare and initialize an XmlNodeList object with the 'child nodes of the second node. Dim usersNode1 As System.Xml.XmlNode = userGroup.GetUserCollectionFromGroup(groupName) Dim usersNode2 As System.Xml.XmlNode = usersNode1.FirstChild Dim userNodes As System.Xml.XmlNodeList = usersNode2.ChildNodes 'Iterate through the collection of user nodes and 'parse out the Name, LoginName, Email, and Notes 'attribute values for each item and 'then display the values returned. Dim user As System.Xml.XmlNode For Each user In userNodes Dim name As String = user.Attributes("Name").Value Dim loginName As String = user.Attributes("LoginName").Value Dim email As String = user.Attributes("Email").Value Dim notes As String = user.Attributes("Notes").Value label1.Text += ControlChars.Lf + ControlChars.Lf + name + " : " + loginName + " : " + email + " : " + notes Next user
/*Declare and initialize a variable for the UserGroup Web service, and authenticate the current user by passing their default credentials to the Web service from the system credential cache*/ Web_Reference.UserGroup userGroup = new Web_Reference.UserGroup(); userGroup.Credentials = System.Net.CredentialCache.DefaultCredentials; /*Gather data from the text boxes.*/ string groupName = textBox1.Text; string userName = textBox2.Text; string userLoginName = textBox3.Text; string userEmail = textBox4.Text; string userNotes = textBox5.Text; /*Add the specified user to the group. */ userGroup.AddUserToGroup(groupName, userName, userLoginName, userEmail, userNotes); /*Declare an XmlNode object and initialize it with the XML response from the GetUserCollectionFromGroup method, declare a second XmlNode object and initialize it with the first child of the first node returned, and then declare and initialize an XmlNodeList object with the child nodes of the second node.*/ System.Xml.XmlNode usersNode1 = userGroup.GetUserCollectionFromGroup(groupName); System.Xml.XmlNode usersNode2 = usersNode1.FirstChild; System.Xml.XmlNodeList userNodes = usersNode2.ChildNodes; /*Iterate through the collection of user nodes and parse out the Name, LoginName, Email, and Notes attribute values for each item and then display the values returned.*/ foreach (System.Xml.XmlNode user in userNodes) { string name = user.Attributes["Name"].Value; string loginName = user.Attributes["LoginName"].Value; string email = user.Attributes["Email"].Value; string notes = user.Attributes["Notes"].Value; label1.Text += "\n\n" + name + " : " + loginName + " : " + email + " : " + notes; }
En el menú Depurar, haga clic en Iniciar depuración para probar el formulario. Haga clic en el botón del formulario para agregar el usuario al grupo especificado y mostrar los miembros del grupo.
Adición de usuarios de la información a un archivo XML
Cargue la colección de datos de usuario en un objeto DataSet y, a continuación, use el método AddUserToGroup para procesar una iteración de la colección y agregar cada usuario al grupo.
Para agregar usuarios a un grupo a partir de la información de un archivo XML
Cree una aplicación de Windows Forms, agregue una referencia web y agregue un control TextBox y un control Button al formulario.
Haga doble clic en el botón para mostrar el editor de código y agregue las siguientes líneas de código al controlador de eventos Button1_Click.
'Declare and initialize a variable for the UserGroup Web service, 'and authenticate the current user by passing their default 'credentials to the Web service from the system credential cache. Dim userGroup As New Web_Reference.UserGroup() userGroup.Credentials = System.Net.CredentialCache.DefaultCredentials 'Instantiate a DataSet control, declare and initialize a string 'specifying the full path to the XML file to use as a source. Dim dataSet As New DataSet() Dim xmlPath As String = "Full_Path_To_XML_File" 'Read the data from the XML file into the dataset object. dataSet.ReadXml(xmlPath) 'Declare a variable for the group name typed in the text box. Dim groupName As String = textBox1.Text 'Iterate through each row in the DataSet object, assign their 'values to variables for each parameter, and add each user to the 'specified group. Dim row As DataRow For Each row In dataSet.Tables(0).Rows Dim userName As String = row("name").ToString() Dim userLoginName As String = row("loginname").ToString() Dim userEmail As String = row("email").ToString() Dim userNotes As String = row("notes").ToString() userGroup.AddUserToGroup(groupName, userName, userLoginName, userEmail, userNotes) Next row
/*Declare and initialize a variable for the UserGroup Web service, and authenticate the current user by passing their default credentials to the Web service from the system credential cache.*/ Web_Reference.UserGroup userGroup = new Web_Reference.UserGroup(); userGroup.Credentials = System.Net.CredentialCache.DefaultCredentials; /*Instantiate a DataSet control, declare and initialize a string specifying the full path to the XML file to use as a source.*/ DataSet dataSet = new DataSet(); string xmlPath = "Full_Path_To_XML_File"; /*Read the data from the XML file into the DataSet object.*/ dataSet.ReadXml(xmlPath); /*Declare a variable for the group name typed in the text box.*/ string groupName = textBox1.Text; /*Iterate through each row in the DataSet object, assign their values to variables for each parameter, and add each user to the specified group.*/ foreach (DataRow row in dataSet.Tables[0].Rows) { string userName = row["name"].ToString(); string userLoginName = row["loginname"].ToString(); string userEmail = row["email"].ToString(); string userNotes = row["notes"].ToString(); userGroup.AddUserToGroup(groupName, userName, userLoginName, userEmail, userNotes); }
En el menú Depurar, haga clic en Iniciar depuración para probar el formulario. Haga clic en el botón del formulario para agregar el usuario al grupo especificado y mostrar los miembros del grupo.