bonjour

j'ai un petit soucis pour un code vbs a passer en delphi

je pense que ca vient de la requête mais je ne vois pas comment passer mes quotes a moins que ca ne soit pas faisable:
code vbs qui permet de déplacer un computer dans une OU
Code VB : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
On Error Resume Next
 
Const ADS_SCOPE_SUBTREE = 2
 
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand =   CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection
 
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
 
objCommand.CommandText = _
    "SELECT ADsPath FROM 'LDAP://dc=ecolesks,dc=local' WHERE objectCategory='computer' " & _
        "AND name='rr'"
Set objRecordSet = objCommand.Execute
 
objRecordSet.MoveFirst
Do Until objRecordSet.EOF
    strADsPath = objRecordSet.Fields("ADsPath").Value
     Wscript.Echo objRecordSet.Fields("ADsPath").Value
    Set objOU = GetObject("LDAP://ou=ordinateurs,ou=ecole primaire,DC=ecolesks,DC=local")
   intReturn = objOU.MoveHere(strADsPath, vbNullString)
 
    objRecordSet.MoveNext
Loop

ce code marche!!!
le code sous delphi
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
procedure TForm1.Button1Click(Sender: TObject);
var
c:tscriptcontrol;
begin
 c := TScriptControl.Create(Self);
try
c.Language := 'VBScript';
c.AddCode('Const ADS_SCOPE_SUBTREE = 2') ;
c.AddCode('Set objConnection = CreateObject("ADODB.Connection") ') ;
c.AddCode('Set objCommand =   CreateObject("ADODB.Command") ') ;
c.AddCode('objConnection.Provider = "ADsDSOObject" ')    ;
c.AddCode('objConnection.Open "Active Directory Provider"') ;
c.AddCode('Set objCommand.ActiveConnection = objConnection  ')  ;
c.AddCode('objCommand.Properties("Page Size") = 1000  ')   ;
c.AddCode(' objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE ') ;
c.AddCode('objCommand.CommandText =  "SELECT ADsPath FROM '+'LDAP://dc=ecolesks,dc=local'+' WHERE objectCategory='+'computer' +' AND name='+'rr'+'" ');
c.AddCode(' Set objRecordSet = objCommand.Execute  ') ;
c.AddCode('  Wscript.Echo objRecordSet.Fields("ADsPath").Value ') ;
c.AddCode('objRecordSet.MoveFirst  ')    ;
c.AddCode('Do Until objRecordSet.EOF  ')  ;
c.AddCode(' strADsPath = objRecordSet.Fields("ADsPath").Value ')   ;
c.AddCode('  Wscript.Echo objRecordSet.Fields("ADsPath").Value ') ;
c.AddCode('  Set objOU = GetObject("LDAP://ou=ordinateurs,ou=ecole primaire,DC=ecolesks,DC=local") ') ;
c.AddCode('  intReturn = objOU.MoveHere(strADsPath, vbNullString)  ')   ;
c.AddCode('objRecordSet.MoveNext  ')    ;
c.AddCode(' Loop ')   ;
 
finally;
c.Free;
end;
end;
end.
ca palnte ici:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
c.AddCode('objCommand.CommandText =  "SELECT ADsPath FROM '+'LDAP://dc=ecolesks,dc=local'+' WHERE objectCategory='+'computer' +' "AND name='+'rr'+'" ');
voila si vous avez vu mon erreur???

merci
a+
bon week end