The following piece code is a little console application which displays all the web applications where a custom MembershipProvider passed as argument is installed:using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SharePoint.Administration;
using System.Web.Configuration;
namespace DisplayWebAppsUsingACustomProvider
{
class Program
{
static void Main(string[] args)
{
try
{
if (args == null args.Length != 1)
{
throw new ArgumentException("Invalid argument.");
}
string myMembershipProvider = args[0];
SPFarm farm = SPFarm.Local;
Console.WriteLine(string.Format("Connected to farm: {0}.", farm.DisplayName));
SPWebService service = farm.Services.GetValue<SPWebService>("");
Console.WriteLine("Services has been retrieved.");
foreach (SPWebApplication webApp in service.WebApplications)
{
Console.WriteLine(string.Format("Connected to Web Application: {0}.", webApp.DisplayName));
if (!webApp.IsAdministrationWebApplication)
{
foreach (SPUrlZone zone in webApp.IisSettings.Keys)
{
SPIisSettings setting = webApp.IisSettings[zone];
if (setting.AuthenticationMode == AuthenticationMode.Forms)
{
if (setting.MembershipProvider.ToLower() == myMembershipProvider.ToLower())
{
Console.WriteLine(string.Format("MembershipProvider \"{0}\" found.", myMembershipProvider));
}
}
}
}
}
}
catch (Exception ex)
{
Console.WriteLine(string.Format("Message: {0} {1} Stack:{2}.", ex.Message, System.Environment.NewLine, ex.StackTrace));
}
Console.WriteLine("Press a touch to exit.");
Console.ReadLine();
}
}
}
No comments:
Post a Comment