SharePoint 2010 rivendica la classica Aiuto PowerShell
-
09-12-2019 - |
Domanda
Ho un requisito del cliente per passare dal classico alle rivendicazioni.Attualmente sto utilizzando alcuni PowerShell da http://direkmartin.org/archives/701
$webApp =
$farm = get-SPFarm
$wa = get-SPWebApplication $webApp
$site = get-SPSite $webApp
$web = $site.OpenWeb()
foreach ($user in $web.AllUsers) {
$newuser = $user
$newuserLoginName = “”
write-host($user.LoginName)
if ($newuser.LoginName.StartsWith(“i:0#.w|”))
{
! $newuserLoginName = $user.LoginName.Substring(7)
}
$user = $newuser
$farm.MigrateUserAccount($user.LoginName, $newuserLoginName, $false)
}
.
Sfortunatamente ogni volta che provo a correre, ottengo il seguente
Espressione di assegnazione non valida.Il lato sinistro di un operatore di assegnazione deve essere qualcosa che può essere assegnato come una variabile o una proprietà. AT C: \ Utenti \ User \ Desktop \ reclami.ps1: 12 Char: 22 +!$ NewUserLoginname= <<<< $ utente.loginname.Subbstring (7) + CategoriaInfo: ParserError: (:) [], ParsEexception + CompletoQualifiederrorid: Invalidlefthandside
Qualche idea su cosa potrebbe essere sbagliato?
Grazie!
Scusa dimenticato di incollare la sceneggiatura in questione in Originariamente!
Soluzione
I may be wrong but I suppose that the exclamation mark on the
!$newuserLoginName = $user.LoginName.Substring(7)
line should just be a refuse (or at last it doesn't match any syntax I am aware of).
If you are on a test environment or are otherwise sure that you won't damage your system with a wrong comand, I would try to replace the if with:
if ($newuser.LoginName.StartsWith(“i:0#.w|”))
{
$newuserLoginName = $user.LoginName.Substring(7)
}
The if should simply remove the "claim specific part" from the login name, so I would assume the original blog post intended it this way.
That said, know that I have never done this before and are only trying to spot an error in the powershell code. I don't know if that code will actually do what promised, so use that at your risk (or wait some more expert other user to confirm the behaviour).