Deletando múltiplos objetos via powershell no FIM 2010

Ola amigos

Segue uma dica muito boa para deletar múltiplos objetos via powershell no FIM 2010

Caso se vc se deparar com a necessidade de deletar objetos de user, group, ExpectedRuleEntry e etc, agora vc poderá utilizar de um script e não perder um tempo precioso selecionando objetos, este script preserva o user administrator do seu FIM 2010.

Basta specificar que tipo de objeto vc deseja deletar do FIM, Ex: User, Groups, ExpectedRuleEntry e etc, no campo do script

clip_image001

Code:

  1. #———————————————————————————————————-
  2.  set-variable -name URI -value “http://localhost:5725/resourcemanagementservice’ ” -option constant
  3. #———————————————————————————————————-
  4.  function DeleteObject
  5.  {
  6.     PARAM($objectType, $objectId)
  7.     END
  8.     {
  9.        $importObject = New-Object Microsoft.ResourceManagement.Automation.ObjectModel.ImportObject
  10.        $importObject.ObjectType = $objectType
  11.        $importObject.TargetObjectIdentifier = $objectId
  12.        $importObject.SourceObjectIdentifier = $objectId
  13.        $importObject.State = 2
  14.        $importObject | Import-FIMConfig -uri $URI
  15.      }
  16.  }
  17. #———————————————————————————————————-
  18.  if(@(get-pssnapin | where-object {$_.Name -eq “FIMAutomation”} ).count -eq 0) {add-pssnapin FIMAutomation}
  19.  $allobjects = export-fimconfig -uri $URI `
  20.                                 –onlyBaseResources `
  21.                                 -customconfig “/Person
  22.  $allobjects | Foreach-Object {
  23.     $displayName = $_.ResourceManagementObject.ResourceManagementAttributes | `
  24.                       Where-Object {$_.AttributeName -eq “DisplayName”}
  25.     if([string]::Compare($displayName.Value, “Administrator”, $True) -eq 0)
  26.     {write-host “Administrator NOT deleted”}
  27.     elseif([string]::Compare($displayName.Value, “Built-in Synchronization Account”, $True) -eq 0)
  28.     {write-host “Built-in Synchronization Account NOT deleted”}
  29.     else {
  30.       $objectId = (($_.ResourceManagementObject.ObjectIdentifier).split(“:”))[2]
  31.       DeleteObject -objectType “Person” `
  32.                    -objectId $objectId
  33.       write-host “`nObject deleted`n”  $displayName.Value }
  34.  }

Anúncios

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão /  Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão /  Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão /  Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão /  Alterar )

Connecting to %s