Auteur de questions
probleme avec un script

Question
-
bonjour,
voila je trvaille sur active directory depuis un mois deja et il se trouve que j' ai un probleme quand je teste mon script.
SVP pourrez vous m'aider pour que je puisse savoir où se trouve mon erreur et ce que je dois mettre ?
voila le script:
Imports System.directoryservices
Imports System.directoryservices.activedirectory
et objDomain = GetObject("ldap://dc=Hte,dc=intra")
Set objOU = GetObject("ldap://ou=User,ou=Useroffice, ou=User dc=hte,dc=intra")
DirectoryEntry ldap = new DirectoryEntry " ldap://nom,login,paasword" ;
DirectorySearcher searcher = new DirectorySearcher(ldap);
searcher.Filter = "(SAMAccountName=SG)";
SearchResult result = searcher.FindOne();
DirectoryEntry DirEntry = result.GetDirectoryEntry();
DirEntry.Properties["TelephoneNumber"].Value = "110";
DirEntry.CommitChanges();
le script me renvoie une erreur à cette ligne:
DirectoryEntry ldap = new DirectoryEntry " ldap://nom,login,paasword" ;
merci- Déplacé swapnilpBanned jeudi 4 février 2010 01:26 Forum Consolidation (Origine :Windows Server 2003 – Services d’Annuaire)
lundi 30 juillet 2007 06:54
Toutes les réponses
-
Bonsoir,
peux-tu indiquer le but exact souhaité et le langage utilisé? (cela ressemble à du VB.Net !)
J'ai de nombreuses solutions en VbScript (et VB6), mais dans lesquelles aucun login ou password ne sont nécessaires.
A bientôt,- Proposé comme réponse Thierry DEMAN-BARCELÒMVP dimanche 1 novembre 2009 22:54
lundi 30 juillet 2007 21:09 -
salut,
en fait je me suis rendu compte du problème et j' ai melenger les code en c# et vb. voila mon nouveau programme.ce qui se pose en fait c'est que je dois surement ajouter quelques chose pour que mon script envoie des modifications mais je ne sais pas quoi.
using System;
using System.DirectoryServices;
using System.Security;
namespace Active
{
class Class1
{
public static void Main(string[] args ) {
DirectoryEntry Ldap = new DirectoryEntry("LDAP://ADS1");
DirectorySearcher searcher = new DirectorySearcher(Ldap);
searcher.Filter = "(SAMAccountName=SG)";
SearchResult result = searcher.FindOne();
DirectoryEntry DirEntry = result.GetDirectoryEntry();
DirEntry.Properties["TelephoneNumber"].Value = "110";
DirEntry.CommitChanges();
}
}
}
le script fonctionne mais il n' envoie pas les changement sur active directory.
merci de votre aide.mardi 31 juillet 2007 11:11 -
Bonsoir,
j'imagine que ADS1 est bien un contrôleur de domaine et que tu es connecté sous un compte administrateur !
Voici une fonction que j'utilise pour modifier un compte en VbScript :
Function UpdateAccount(DnName)
Dim oUser
wscript.echo dnname
set oUser=GetObject("LDAP://"+DnName)
samaccountname=ouser.samaccountname
sn=oUser.sn
givenname=oUser.givenname
DisplayName=Trim(oUser.DisplayName)
If len(sn)=0 OR len(Givenname)=0 Then
If Len(DisplayName)=0 Then
wscript.echo samaccountname&" | No Sn,Givenname or DisplayName"
v=v+1
Else
x=Instr(DisplayName, " ")
IF x>0 Then
GivenName=left(DisplayName,x-1)
sn=Mid(Displayname,x+1)
NewDisplayName=Ucase(sn)+" "+givenname
wscript.echo "CORRRECTED| "&samaccountname&" | "&sn&" | "&givenname&" | "&DisplayName&" | "&NewDisplayName
w=w+1
Else
wscript.echo samaccountname&" | No Sn,Givenname or DisplayName"
v=v+1
End IF
End IF
Else
NewDisplayName=Ucase(sn)+" "+givenname
wscript.echo samaccountname&" | "&sn&" | "&givenname&" | "&DisplayName&" | "&NewDisplayName
oUser.put "DisplayName", NewDisplayName
oUser.setinfo
End if
End Functionmardi 31 juillet 2007 22:51 -
salut,
j'ai en fait trouvé mon erreur. j'avais melanger les codes en vb et en c#,. mais maintenant j' ai une probleme qui se pose avec les permissions. je travaille bien sur un controlleur de domaine et je suis administrateur sur cette machine mais je n'arrive pas à acceder à active directory.
voila mon code:
using System;
using System.Data;
using System.DirectoryServices;
using System.DirectoryServices.ActiveDirectory;
using System.Diagnostics;
using System.Security;
using System.Security.Permissions;
using System.Security.Policy;
using System.Reflection;
using System.Runtime.Serialization;
namespace Active
{
class Class1
{
public static void Main(string[] args)
{
try
{
// string Path = Serveur + "CN=domaine.be,CN=All Address Lists" + ExchADC + DCDomaine;
DirectoryEntry Ldap = new DirectoryEntry("ldap://hte.intra", "don", "mamanetpapa");
ActiveDirectorySecurity ads = (ActiveDirectorySecurity)Ldap.ObjectSecurity;
System.Security.Principal.NTAccount group = new System.Security.Principal.NTAccount("GroupeTest");
ActiveDirectoryAccessRule ar = new ActiveDirectoryAccessRule(group, ActiveDirectoryRights.DeleteTree | ActiveDirectoryRights.ListObject, System.Security.AccessControl.AccessControlType.Allow);
ads.AddAccessRule(ar);
DirectoryEntry ldap = new DirectoryEntry("ldap://hte.intra", "don", "mamanetpapa");
DirectorySearcher searcher = new DirectorySearcher(ldap);
searcher.Filter = "(SAMAccountName=SG)";
SearchResult result = searcher.FindOne();
DirectoryEntry DirEntry = result.GetDirectoryEntry();
DirEntry.Properties["TelephoneNumber"].Value = "110";
DirEntry.CommitChanges();
}
catch (Exception e)
{
Console.WriteLine(" Exception : " + e.Message);
}
}
}
}
}
et voila l' erreur que ca me renvoie:
Request for the permission of type 'System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.
merci pour votre aide.
dorinejeudi 2 août 2007 06:11