Question ADMT
- Besançon Ludovic
- Auteur du sujet
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 44
- Remerciements reçus 0
il y a 14 ans 2 mois #5903
par Besançon Ludovic
ADMT a été créé par Besançon Ludovic
Bonjour
ADMT est l'outil de migration Active Directory.
J'ai trouvé sur le site de Microsoft un script vbs qui fonctionne bien.
Je voulais le transcrire en powershell et j'ai des difficultés ...
Le script vbs :
[code:1]Dim objMigration
Dim objGroupMigration
Const admtData = 1
' Create instance of ADMT migration objects.
Set objMigration = CreateObject(\"ADMT.Migration\" )
Set objGroupMigration = objMigration.CreateGroupMigration
' Specify general migration options.
objMigration.IntraForest = False
objMigration.SourceDomain = \"myDomainSource\"
objMigration.SourceOu = \"myOUSource\"
objMigration.TargetDomain = \"myDomainCible\"
objMigration.TargetOu = \"myOUCible\"
' Migrate specified user objects.
objGroupMigration.Migrate admtData, Array(\"ZZ_mytestgroup\" ,\"ZZ_mytestgroup\"«»)
Set objGroupMigration = Nothing
Set objMigration = Nothing[/code:1]
Le début de la transcription PowerShell :
[code:1]$admtData = 1
$myADMT = New-Object -comobject ADMT.Migration
$myADMTGroup = $myADMT.CreateGroupMigration[/code:1]
Et là soi je fais $myADMTGroup | Get-member je ne vois pas la méthode Migrate !
$myADMTGroup | get-member
TypeName: System.Management.Automation.PSMethod
[code:1]Name MemberType Definition
----
Copy Method System.Management.Automation.PSMemberInfo Copy()
Equals Method System.Boolean Equals(Object obj)
GetHashCode Method System.Int32 GetHashCode()
GetType Method System.Type GetType()
get_IsInstance Method System.Boolean get_IsInstance()
get_MemberType Method System.Management.Automation.PSMemberTypes get_MemberType()
get_Name Method System.String get_Name()
get_OverloadDefinitions Method System.Collections.ObjectModel.Collection`1[[System.String, mscorlib, Version=2.0...
get_TypeNameOfValue Method System.String get_TypeNameOfValue()
get_Value Method System.Object get_Value()
Invoke Method System.Object Invoke(Params Object[] arguments)
set_Value Method System.Void set_Value(Object value)
ToString Method System.String ToString()
IsInstance Property System.Boolean IsInstance {get;}
MemberType Property System.Management.Automation.PSMemberTypes MemberType {get;}
Name Property System.String Name {get;}
OverloadDefinitions Property System.Collections.ObjectModel.Collection`1[[System.String, mscorlib, Version=2.0...
TypeNameOfValue Property System.String TypeNameOfValue {get;}
Value Property System.Object Value {get;set;}[/code:1]
Comment faire ?
Merci de votre aide.
Ludovic.<br><br>Message édité par: Ludovic, à: 12/01/10 16:18
ADMT est l'outil de migration Active Directory.
J'ai trouvé sur le site de Microsoft un script vbs qui fonctionne bien.
Je voulais le transcrire en powershell et j'ai des difficultés ...
Le script vbs :
[code:1]Dim objMigration
Dim objGroupMigration
Const admtData = 1
' Create instance of ADMT migration objects.
Set objMigration = CreateObject(\"ADMT.Migration\" )
Set objGroupMigration = objMigration.CreateGroupMigration
' Specify general migration options.
objMigration.IntraForest = False
objMigration.SourceDomain = \"myDomainSource\"
objMigration.SourceOu = \"myOUSource\"
objMigration.TargetDomain = \"myDomainCible\"
objMigration.TargetOu = \"myOUCible\"
' Migrate specified user objects.
objGroupMigration.Migrate admtData, Array(\"ZZ_mytestgroup\" ,\"ZZ_mytestgroup\"«»)
Set objGroupMigration = Nothing
Set objMigration = Nothing[/code:1]
Le début de la transcription PowerShell :
[code:1]$admtData = 1
$myADMT = New-Object -comobject ADMT.Migration
$myADMTGroup = $myADMT.CreateGroupMigration[/code:1]
Et là soi je fais $myADMTGroup | Get-member je ne vois pas la méthode Migrate !
$myADMTGroup | get-member
TypeName: System.Management.Automation.PSMethod
[code:1]Name MemberType Definition
----
Copy Method System.Management.Automation.PSMemberInfo Copy()
Equals Method System.Boolean Equals(Object obj)
GetHashCode Method System.Int32 GetHashCode()
GetType Method System.Type GetType()
get_IsInstance Method System.Boolean get_IsInstance()
get_MemberType Method System.Management.Automation.PSMemberTypes get_MemberType()
get_Name Method System.String get_Name()
get_OverloadDefinitions Method System.Collections.ObjectModel.Collection`1[[System.String, mscorlib, Version=2.0...
get_TypeNameOfValue Method System.String get_TypeNameOfValue()
get_Value Method System.Object get_Value()
Invoke Method System.Object Invoke(Params Object[] arguments)
set_Value Method System.Void set_Value(Object value)
ToString Method System.String ToString()
IsInstance Property System.Boolean IsInstance {get;}
MemberType Property System.Management.Automation.PSMemberTypes MemberType {get;}
Name Property System.String Name {get;}
OverloadDefinitions Property System.Collections.ObjectModel.Collection`1[[System.String, mscorlib, Version=2.0...
TypeNameOfValue Property System.String TypeNameOfValue {get;}
Value Property System.Object Value {get;set;}[/code:1]
Comment faire ?
Merci de votre aide.
Ludovic.<br><br>Message édité par: Ludovic, à: 12/01/10 16:18
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 6300
- Remerciements reçus 68
il y a 14 ans 2 mois #5912
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:ADMT
Salut,
peux-tu reformater ton message en utilisant les balises code ?
Là, ce n'est pas aisée de distinguer ton code de tes explications/demandes.<br><br>Message édité par: Laurent Dardenne, à: 14/01/10 17:18
peux-tu reformater ton message en utilisant les balises code ?
Là, ce n'est pas aisée de distinguer ton code de tes explications/demandes.<br><br>Message édité par: Laurent Dardenne, à: 14/01/10 17:18
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
- Hors Ligne
- Modérateur
il y a 14 ans 2 mois #5919
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Réponse de Arnaud Petitjean sur le sujet Re:ADMT
Bonjour Ludovic,
Malheureusement tout n'est pas toujours aussi simple ! Les objets COM sont un peu particuliers car tous n'exposent pas leurs propriétés et méthodes. En fait ça dépend de la manière dont ils ont été codés. J'ai déjà à plusieurs reprises rencontré les mêmes déboires que toi, notamment avec ADSI.
Ceci dit, ce n'est pas parce qu'on ne les voit pas qu'on ne peut pas les utiliser.
Si tu possèdes notre livre de référence tu peux essayer de t'inspirer des nombreux exemples de scripts du chapitre consacré à ADSI.
Sinon tu peux essayer des choses du genre :
[code:1]
$admtData = 1
$myADMT = New-Object -comobject ADMT.Migration
$myADMT.CreateGroupMigration.Migrate($admtData, @(\"ZZ_mytestgroup\" ,\"ZZ_mytestgroup\"«»))
ou
$myADMT.PSBase.CreateGroupMigration.InvokeSet('Migrate',$admtData, @(\"ZZ_mytestgroup\" ,\"ZZ_mytestgroup\"«»))
$myADMT.PSBase.CommitChanges()
[/code:1]
C'est sans garantie de fonctionnement, désolé
Bon courage,
Arnaud
Et là soi je fais $myADMTGroup | Get-member je ne vois pas la méthode Migrate !
Malheureusement tout n'est pas toujours aussi simple ! Les objets COM sont un peu particuliers car tous n'exposent pas leurs propriétés et méthodes. En fait ça dépend de la manière dont ils ont été codés. J'ai déjà à plusieurs reprises rencontré les mêmes déboires que toi, notamment avec ADSI.
Ceci dit, ce n'est pas parce qu'on ne les voit pas qu'on ne peut pas les utiliser.
Si tu possèdes notre livre de référence tu peux essayer de t'inspirer des nombreux exemples de scripts du chapitre consacré à ADSI.
Sinon tu peux essayer des choses du genre :
[code:1]
$admtData = 1
$myADMT = New-Object -comobject ADMT.Migration
$myADMT.CreateGroupMigration.Migrate($admtData, @(\"ZZ_mytestgroup\" ,\"ZZ_mytestgroup\"«»))
ou
$myADMT.PSBase.CreateGroupMigration.InvokeSet('Migrate',$admtData, @(\"ZZ_mytestgroup\" ,\"ZZ_mytestgroup\"«»))
$myADMT.PSBase.CommitChanges()
[/code:1]
C'est sans garantie de fonctionnement, désolé
Bon courage,
Arnaud
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 6300
- Remerciements reçus 68
il y a 14 ans 2 mois #5947
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:ADMT
Ludovic écrit:
[code:1]$myADMTGroup = $myADMT.CreateGroupMigration()[/code:1]
Et comme l'a dit Arnaud, vérifie les membres sur $myADMT.PSobject ou $myADMT.PSbase.
Tu récupères un objet PSmethod, appele la méthode et pas l'objet méthode de l'objet PS :Et là soi je fais $myADMTGroup | Get-member je ne vois pas la méthode Migrate !
# TypeName: System.Management.Automation.PSMethod
[code:1]$myADMTGroup = $myADMT.CreateGroupMigration()[/code:1]
Et comme l'a dit Arnaud, vérifie les membres sur $myADMT.PSobject ou $myADMT.PSbase.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.074 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les initiés
- ADMT