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
ca palnte ici:
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.
voila si vous avez vu mon erreur???
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'+'" ');
merci
a+
bon week end
Partager