PoshCode Logo PowerShell Code Repository

Manage ASP.NET Providers by cglessner 27 months ago (modification of post by cglessner view diff)
View followups from cglessner | diff | embed code: <script type="text/javascript" src="http://PoshCode.org/embed/1669"></script>download | new post

Manage ASP.NET MemberShip, Role and Profile Provider with PowerShell. Especially useful with SqlMembershipProvider. I use it to manage SharePoint users with form based authentication (FBA).

  1. # Manage_ASP_NET_Providers.ps1
  2. # by Chistian Glessner
  3. # http://iLoveSharePoint.com
  4.  
  5. # have to be initaized. If you want to change the app config you have to restart PowerShell
  6. param($appConfigPath=$(throw "-appConfigPath is mandatory"))
  7. {
  8.     # App config path have to be set before loading System.Web.dll
  9.     [System.AppDomain]::CurrentDomain.SetData("APP_CONFIG_FILE", $path )
  10.     [void][System.Reflection.Assembly]::LoadWithPartialName("System.Web") # posh 2.0: Add-Type -Assembly "System.Web"
  11. }
  12.  
  13. function global:Get-MembershipProvider($providerName=$null)
  14. {    
  15.     if($providerName -eq $null)
  16.     {
  17.         return [System.Web.Security.Membership]::Provider
  18.     }
  19.     else
  20.     {
  21.         return [System.Web.Security.Membership]::Providers[$providerName]
  22.     }
  23. }
  24.  
  25. function global:Get-RoleProvider($providerName=$null)
  26. {    
  27.     if($providerName -eq $null)
  28.     {
  29.         return [System.Web.Security.Roles]::Provider
  30.     }
  31.     else
  32.     {
  33.         return [System.Web.Security.Roles]::Providers[$providerName]
  34.     }
  35. }
  36.  
  37. function global:Get-ProfileProvider($providerName=$null)
  38. {    
  39.     if($providerName -eq $null)
  40.     {
  41.         return [System.Web.Profile.ProfileManager]::Provider
  42.     }
  43.     else
  44.     {
  45.         return [System.Web.Profile.ProfileManager]::Providers[$providerName]
  46.     }
  47. }

Submit a correction or amendment below (
click here to make a fresh posting)
After submitting an amendment, you'll be able to view the differences between the old and new posts easily.

Syntax highlighting:


Remember me