// We're looking for servers that have a service instance of "Windows SharePoint Services Database" private XmlNode GetDatabaseServiceInstancesNode(SPServiceInstanceCollection serverServiceInstances) { XmlNode databases = null; foreach (SPServiceInstance serviceInstance in serverServiceInstances) { if (serviceInstance.TypeName == "Windows SharePoint Services Database") { databases = GetServerDatabasesNode(serviceInstance); } } return(databases); }
private XmlNode GetServerServiceInstanceNode(SPServiceInstanceCollection serverServiceInstances) { XmlNode serverServicesNode = FarmXml.CreateElement("ServerServices"); XmlNode countAttribute = FarmXml.CreateAttribute("Count"); countAttribute.Value = serverServiceInstances.Count.ToString(); serverServicesNode.Attributes.SetNamedItem(countAttribute); foreach (SPServiceInstance serviceInstance in serverServiceInstances) { XmlNode serviceInstanceNode = FarmXml.CreateElement("Service"); List <AttributeValuePair> serviceInstanceAttributes = SPAttributes.GetSPServiceInstanceAttributes(serviceInstance); foreach (AttributeValuePair serviceInstanceAttribute in serviceInstanceAttributes) { serviceInstanceNode.Attributes.SetNamedItem(GetXmlAttribute(serviceInstanceAttribute)); } serverServicesNode.AppendChild(serviceInstanceNode); } return(serverServicesNode); }
private XmlNode GetServersNode(SPServerCollection servers, string nodeName) { XmlNode serversNode = FarmXml.CreateElement(nodeName); AttributeValuePair serverCount; serverCount.Attribute = "Count"; serverCount.Value = servers.Count.ToString(); XmlNode countAttribute = FarmXml.CreateAttribute(serverCount.Attribute); countAttribute.Value = serverCount.Value; serversNode.Attributes.SetNamedItem(countAttribute); foreach (SPServer deployedServer in servers) { XmlNode deployedServerNode = FarmXml.CreateElement("Server"); List <AttributeValuePair> serverAttributes = SPAttributes.GetSPServerAttributes(deployedServer); foreach (AttributeValuePair serverAttribute in serverAttributes) { deployedServerNode.Attributes.SetNamedItem(GetXmlAttribute(serverAttribute)); } // Get Server's service instances SPServiceInstanceCollection serverServiceInstances = deployedServer.ServiceInstances; XmlNode serverServicesNode = GetServerServiceInstanceNode(serverServiceInstances); deployedServerNode.AppendChild(serverServicesNode); serversNode.AppendChild(deployedServerNode); // Get Database Service Instances XmlNode databaseServiceInstances = GetDatabaseServiceInstancesNode(serverServiceInstances); if (databaseServiceInstances != null) { serversNode.AppendChild(databaseServiceInstances); } } return(serversNode); }