Question Suppression groupe AD en masse

Plus d'informations
il y a 11 ans 10 mois #17534 par Laurent Dardenne
ANTRI Mohamed écrit:

[code:1]
import-module Activedirectory
#Plus nécessaire à partir de powershell v4
[/code:1]

Je ne dirais pas ça comme ça, mais plutôt 'avec la configuration par défaut' (prérequis implicite).
:)

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 10 mois #17535 par ANTRI Mohamed
Hello,

Je voulais sous-entendre qu'à partir de powershell v4 et si les prérequis sont bien présent alors à ce moment là si nous entrons une cmdlet correspondant au module AD, celui-ci est alors chargé automatiquement ! :P

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 9 mois #17536 par Thibulaire
Bon J'ai testé avec ce petit bout de code,
j'ai bien le samaccountname de mon fichier texte en vert avec un ok à la fin.

J'ai essayé de couper le code en 2 parties en vérifiant que ma variable a supprimer contient bien le DistinguishedName mais sans succès.

[code:1]import-module Activedirectory

#importation de la liste.
$list = gc C:\temp\grp.txt

#Parcours de la liste afin de récupérer chaque groupe
foreach($item in $list)
{
Get-AdGroup $item | select -expandproperty distinguishedname |Out-file \"C:\temp\grp_supp.txt\"
}

$list_supp= gc c:\temp\grp_supp.txt

foreach($item in $list_supp)
{
echo $item
dsrm $item
}[/code:1]

Hmm après reflexion, il est possible que ce soit un problème de droit car en ré-essayant la commande dsrm avec un DistinguishedName en dur, j'ai eu le droit à un beau message d'erreur
\"dsrm.exe : dsrm échec:CN=G_KSC23B01_P3ACT_L:Aucune référence supérieure n'a été configurée pour le service de répertoire. Le service de répertoire est par conséquent incapable d'émettre des références aux objets en dehors de cette forêt.\"

Si je comprend bien je ne serais pas dans la même forêt que ce groupe ?
Alors que pourtant c'est le cas, je réessaye depuis un DC.<br><br>Message édité par: Thibulaire, à: 23/05/14 11:07

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 9 mois #17537 par Laurent Dardenne
ANTRI Mohamed écrit:

celui-ci est alors chargé automatiquement ! :P

Certes.
Maintenant le deuxième effet, de bord cette fois:
[code:1]
cd c:\temp

md c:\temp\A\modules\module1
md c:\temp\B\modules\module2

@'
function Set-System {
write-host \&quot;Module1.Set-System : ajoute un composant\&quot;
}
'@ &gt; c:\temp\A\modules\module1\module1.psm1

@'
function Set-System {
write-host \&quot;Module2.Set-System : supprime un composant\&quot;
}
'@ &gt; c:\temp\B\modules\module2\module2.psm1


$oldpath=$env:«»PSModulePath
$env:«»PSModulePath +=\&quot;;C:\temp\A\modules;C:\temp\B\modules\&quot;
Set-System
#call module1
'Module1'| remove-module


$env:«»PSModulePath =\&quot;$oldpath;C:\temp\B\modules;C:\temp\A\modules\&quot;
Set-System
#call module2
'Module2'| remove-module
[/code:1]
Là où un classique appel 'Import-Module MonModule' simplifie la chose.

(Pat, désolé du HS.)

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 9 mois #17538 par Thibulaire
Pas de souci pour le HS, je le suis quand même, j'apprend des choses, mais malheureusement la question pour moi ne se pose pas car mon entreprise me condamne à powershell V1 et parfois V2 sur quelques uns de nos 2012R2 fraichement migrés.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 9 mois #17539 par Laurent Dardenne
La v2 je peux comprendre, mais la V1 est vraiment limitée :S
Pour en revenir à ton pb ton code PS fait ce que tu lui demandes. En passant sache que la mise à jour d'un poste ne génère pas de notification.

Au cas où, pour tes tests tu peux générer les appels DSRM ainsi :
[code:1]
import-module Activedirectory

gc C:\temp\grp.txt|
Get-AdGroup |
select -expandproperty distinguishedname
foreach {
echo \&quot;dsrm $_\&quot;
}[/code:1]
ce qui te permettra de vérifier différents cas d'erreur en dehors du code PS.

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.049 secondes
Propulsé par Kunena