Renommer un pc dans un domaine

Signaler
Messages postés
38
Date d'inscription
vendredi 29 juin 2007
Statut
Membre
Dernière intervention
2 août 2007
-
Messages postés
6
Date d'inscription
lundi 9 juillet 2007
Statut
Membre
Dernière intervention
4 février 2008
-
Salut à tous,

voilà mon problème, je voudrais renommer mon pc dans un domaine mais je n'arrive qu'à renommer le nom netbios de la machine hors cela me pose des problèmes par la suite.

Voici le code de ma fonction :

Declare

Function SetComputerNameEX
Lib
"kernel32"
Alias
"SetComputerNameA" (
ByVal lpComputerName
As
String)
As
Long

Public
Function ChangerNomOrdi(
ByVal NouveauNomOrdi
As
String)
As
Boolean

On
Error
Resume
Next

Dim Changer
As
LongChanger = SetComputerNameEX(NouveauNomOrdi)

If Err.Number = 0
ThenChangerNomOrdi =

True

ElseChangerNomOrdi =

False

End
If

End
Function

et le code qui va avec :

'Pour Changer le nom de votre ordinateur :

Dim NomOrdiComplet
As
Boolean =
CBool(
CStr(ChangerNomOrdi(Label1.Text)))

If NomOrdiComplet =
True
ThenMsgBox(

"Le nom de votre ordinateur a été changé")

ElseMsgBox(

"Le nom de votre ordinateur n'a pas été changé")

End
If

Quelqu'un connaitrai-t-il une solution pour réussir de changer le nom DNS et non pas le nom Netbios du PC?

7 réponses

Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
14
Salut,

CBool(
CStr(
ChangerNomOrdi
(Label1.Text)))

ChangerNomOrdi te renvoie un booléen, donc pourquoi transtyper en String ???

If NomOrdiComplet =
TrueThen

Ca fait très débutant : simplifie le en
If NomOrdiComplet 
Then.

Moins important le :

If Err.Number = 0 ThenChangerNomOrdi TrueElseChangerNomOrdi

FalseEndIf

Simplifiable en :

ChangerNomOrdi =
(
Err.Number = 0)

Pour le dns... Je sais pas. Y a une classe qui traine mais plutôt pour des récups.
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
pourquoi invoquer l'API SetComputerName au lieu de SetComputerNameEx ?
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
dans les liens situés tout en bas, dans la section "Sujets en rapport"

on trouve par exemple :

http://www.vbfrance.com/infomsg_RENOMMER-NOM-ORDINATEUR_972569.aspx

Merci donc, de faire un peu de recherche...
(trouvé également via google : VB.Net SetComputerNameEx)
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
encore pire que je pensais, tu t'amuse a demarrer un nouveau post...
le précedant etait le tiens !
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
essaies donc via SetComputerNameEx

http://msdn2.microsoft.com/en-us/library/ms724931.aspx
Messages postés
6
Date d'inscription
lundi 9 juillet 2007
Statut
Membre
Dernière intervention
4 février 2008

J'ai une petite suggestion, mais en utilisant l'API NetRenameMachineIndomain







Declare
Function NetRenameMachineInDomain Lib "netapi32.dll" ( _
ByVal lpServer AsString, _
ByVal lpNewMachineName AsString, _
ByVal lpAccount AsString, _
ByVal lpPassword AsString, _
ByVal fRenameOptions As Int32) As
Int32

Et tu fait un Sub pour y passer tes paramètres


Private Sub
RenomePC()

Dim
d
As
String

Dim
u
As
String

Dim
p
As
String
Dim N as string
S = "Domaine"
N = "NouveauNom"
u = "Utilisateur"
p = "MotDePasse"



'Et tu passes tes paramètres
'Le paramètres lpServer => "" tu utilises le nom local,NETSETUP_ACCT_CREATE permet de renommer le compte dans le domaine
NetRenameMachineInDomain("", d, N, u, p, NETSETUP_ACCT_CREATE)


End


Sub




Avec ça je pense que tu devrais trouver ton Bonheur (Merci de me corriger s'il y a des erreurs)






Sli3
Messages postés
6
Date d'inscription
lundi 9 juillet 2007
Statut
Membre
Dernière intervention
4 février 2008

Désolé pour le formatage du texte, je sais pas ce qu'il s'est passé :(

Sli3