Вопрос : Ищущ инструмент автоматически производит stsadm SharePoint - проникните сценарии потребителя, переименуя потребителя в активно директории

Наша компания част переименует учет потребителя в активно директории. Это будет реальная боль потому что SharePoint требует следующий командование stadm исполняемо each time сделанное это:

" stsadm - migrateuser o - name> имени пользователя имени пользователя
Currently наше переименует их в активно директории и посылает мне электронная таблица по электронной почте с переменами имени. Iий чем создает командное файло содержа обязательно команды stsadm. проблема

The что этим процессом будет ошибка - прональная. Я рассматриваю построить общее назначение для того чтобы сделать одно из following.

1. создаю линию передачи команд общее назначение читает usernames от электронная таблица, директории уточнений активно и производит архив при команды stsadm необходимо строением SharePoint.

OR

2. применение окон для переименовать потребителей в активно директории. В тоже время она автоматически произвела бы архив с stsadm command.

Does, котор кто-нибудь знает если такое общее назначение существует или имеет любые другие предложения?
class=

Ответ : Ищущ инструмент автоматически производит stsadm SharePoint - проникните сценарии потребителя, переименуя потребителя в активно директории

Нашл Кодего. Здесь некоторые из ключевых частей Кодего/логики.

Опять, для каждого webapplication, я получаю каждое собрание места. Кодий начинает на, котор дали собрании места.

Получите список пользователей собрания места.
Для каждого потребителя, проверка если потребитель существует в ОБЪЯВЛЕНИИ через LoginName, то (samAccountName). Если потребитель существует скип, то (нужное migrateuser). Если потребитель не существует, не получает SID потребителя и не смотрит вверх, то ОБЪЯВЛЕНИЕ основало на SID.
Если о, получите новое имя имени пользователя и произведите проникните командование потребителя к командному файлу.
Заметьте что командное файло будет иметь многократную цепь повторить линии для такого же потребителя через собрания места. Я использую командование вида powershell для того чтобы извлечь дубликаты в конце (GC C:\migrateUsers.txt| Вид | 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 = нов-предмет Microsoft.SharePoint.SPSite ($SiteCollectionURL)
$web = $site.openweb ()

$siteCollUsers = $web.SiteUsers

foreach ($MyUser в $siteCollUsers)
{
	если (($MyUser.LoginName.ToLower () - ne «sharepoint \ система») - и ($MyUser.LoginName.ToLower () - ne «авторитет nt \ authenticated потребители») -, то и (ne «авторитет nt \ местное обслуживание» $MyUser.LoginName.ToLower () -))
	{
		$UserName = $MyUser.LoginName.ToLower ()
		$UserNameSplit = $UserName.split («\ ")
		Имя пользователя потребителя #Write-Хозяина «: », $MyUser.LoginName, «SID: », $MyUser.Sid

		$returncheck = Check_User_In_ActiveDirectory $UserNameSplit [1] $mydomaincnx 
		если ($returncheck - eq $False), то
		{

			$nameFromSID = ConvertTo-Имя $MyUser.Sid
			если ($nameFromSID - ne «ый потребитель»), то
			{
				$command = «stsadm.exe - migrateuser o - oldlogin» + $MyUser.LoginNAme + «- newlogin» + $nameFromSID + «- ignoresidhistory»
				Писать-выход $command | вне-архив C:\migrateUsers.txt - приложите
			}


		}
	}
}

$web. Размещайте ()
$site. Размещайте ()

ConvertTo-Имя функции ($SID) 
{
   ловушка 
   {
      «Ый потребитель»; продолжайтесь
   }
   ((нов-предмет security.principal.securityidentifier $SID) .translate ([security.principal.ntaccount])). Значение
}

функция Check_User_In_ActiveDirectory ([шнур] $LoginName, [шнур] $domaincnx)
{
	$returnValue = $false
	#Filter на потребителе существует и активировал
	$strFilter = «(& (|(objectCategory=user) (objectCategory=group))(samAccountName=$LoginName))»
	$objDomain = Нов-Предмет System.DirectoryServices.DirectoryEntry ($domaincnx)

	$objSearcher = Нов-Предмет System.DirectoryServices.DirectorySearcher
	$objSearcher.SearchRoot = $objDomain
	$objSearcher.PageSize = 1000
	$objSearcher.Filter = $strFilter
	$objSearcher.SearchScope = «поддерево»

	#$objSearcher.PropertiesToLoad.Add («имя»)

	$colResults = $objSearcher.FindAll ()

	если ($colResults.Count - gt 0), то
	{
		Учет #Write-Хозяина «существует и Active: », $LoginName
		$returnValue = $true
	}
	возвращенное $returnValue
}
Другие решения  
  •  Как я добавляю кнопки на форме PDF для того чтобы добавить/извлекаю рядки данных?
  •  Шнур ошибки в блоке задвижки?
  •  сколько вариант сервера SQL на одной машине
  •  Внешний вид 2007 не может архивный файл открытой сети сохраненный
  •  Активно директория DNS записывает вопрос
  •  Отчет о доступа 2010 экспорта к CSV с коллекторами?
  •  Прокладчик OCE 9400 не начинает
  •  как добавить десятичное место в формуле в отчете о кристалла seagate
  •  Windows XP и Мичрософт Оутлоок и проблемы установителя Windows
  •  VB6 к VS2010 - консультации тренировки?
  •  
    programming4us programming4us