Vraag : ontvangen uitwisseling?

wij hebben momenteel papa als onze ontvangen Web en uitwisseling gaan. wij zijn niet gelukkig met hun diensten en de post gaat onderaan atleast elke andere maand. wij zijn een firma van de smbwet met een strakke begroting en zouden de capaciteit willen hebben om kalender onder andere medewerkers te delen. de godaddy ontvangen uitwisseling staat dat niet toe. kan iedereen me een goede ontvangen uitwisselingsleverancier? adviseren?

Antwoord : ontvangen uitwisseling?

Vond de code. Hier zijn enkele zeer belangrijke stukken van de code/de logica.

Opnieuw, voor elke webapplication, krijg ik elke plaatsinzameling. De code begint op een bepaalde plaatsinzameling.

Krijg de de gebruikerslijst van de plaatsinzameling.
Voor elke gebruiker, controle als er gebruiker in ADVERTENTIE via LoginName (samAccountName) bestaat. Als er gebruiker skip (migrateuser nodig niet) bestaat. Als de gebruiker niet bestaat, SID van de gebruiker krijgen en die op ADVERTENTIE te kijken op SID wordt gebaseerd.
Indien gevonden, krijg de nieuwe login naam en produceer migreren gebruikersbevel aan het partijdossier.
Merk op dat het partijdossier veelvoud herhalend lijnen voor de zelfde gebruiker over de plaatsinzamelingen zal hebben. Ik gebruik een bevel van de powershellsoort om de duplicaten uiteindelijk te verwijderen (GC C:\migrateUsers.txt| Soort | GU > C:\migrateUsers.bat)



1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
[System.Reflection.Assembly]:: LoadWithPartialName („Microsoft.SharePoint“) > $null
$site = nieuw-voorwerp Microsoft.SharePoint.SPSite ($SiteCollectionURL)
$web = $site.openweb ()

$siteCollUsers = $web.SiteUsers

foreach ($MyUser in $siteCollUsers)
{
	als (($MyUser.LoginName.ToLower () - Ne „sharepoint systeem \“) - en ($MyUser.LoginName.ToLower () - de voor authentiek verklaarde gebruikers van het Ne „nt gezag \“) - en ($MyUser.LoginName.ToLower () - de lokale dienst van het Ne „nt gezag \“))
	{
		$UserName = $MyUser.LoginName.ToLower ()
		$UserNameSplit = $UserName.split („\“)
		Login van de Gebruiker van de #Write-gastheer „: “, $MyUser.LoginName, „SID: “, $MyUser.Sid

		$returncheck = Check_User_In_ActiveDirectory $UserNameSplit [1] $mydomaincnx 
		als ($returncheck - eq $False)
		{

			$nameFromSID = convertTo-Naam $MyUser.Sid
			als ($nameFromSID - Ne „Gevonden niet Gebruiker“)
			{
				$command = „stsadm.exe - o migrateuser - oldlogin“ + $MyUser.LoginNAme + „- newlogin“ + $nameFromSID + „- ignoresidhistory“
				Schrijven-output $command | uit-dossier C:\migrateUsers.txt - voeg toe
			}


		}
	}
}

$web. Schik ()
$site. Schik ()

functie convertTo-Naam ($SID) 
{
   val 
   {
      „Gevonden niet gebruiker“; ga verder
   }
   ((nieuw-voorwerp security.principal.securityidentifier $SID) .translate ([security.principal.ntaccount])). Waarde
}

functie Check_User_In_ActiveDirectory ([koord] $LoginName, [koord] $domaincnx)
{
	$returnValue = $false
	#Filter op Gebruiker wat bestaat en activeerde
	$strFilter = „(& (|(objectCategory=user) (objectCategory=group))(samAccountName=$LoginName))“
	$objDomain = nieuw-Voorwerp System.DirectoryServices.DirectoryEntry ($domaincnx)

	$objSearcher = nieuw-Voorwerp System.DirectoryServices.DirectorySearcher
	$objSearcher.SearchRoot = $objDomain
	$objSearcher.PageSize = 1000
	$objSearcher.Filter = $strFilter
	$objSearcher.SearchScope = „Onderverdeling“

	#$objSearcher.PropertiesToLoad.Add („naam“)

	$colResults = $objSearcher.FindAll ()

	als ($colResults.Count - GT 0)
	{
		#Write-gastheer „Rekening er bestaat en Actief: “, $LoginName
		$returnValue = $true
	}
	terugkeer $returnValue
}
Andere oplossingen  
 
programming4us programming4us