Renommer nom ordinateur

Résolu
pOusSinUs Messages postés 38 Date d'inscription vendredi 29 juin 2007 Statut Membre Dernière intervention 2 août 2007 - 29 juin 2007 à 09:51
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 12 juin 2008 à 11:43
Bonjour à tous,

je voudrais renommer le nom de mon pc (sous windows xp) en vbs.
Si quelqu'un pouvait m'aider ce serait sympa.
J'ai déjà trouver ça mais ca ne fonctionne pas :  http://www.vbfrance.com/codes/CHANGER-NOM-ORDINATEUR_145.aspx

Il faudrait avoir la possibilier de demander à l'utilisateur via une messageBox de choisir le nom qu'il souhaite.

16 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
29 juin 2007 à 11:11
WMI ....

http://msdn2.microsoft.com/en-US/library/aa393056.aspx


strComputer = "."
Set objWMIService = GetObject("winmgmts:\" & strComputer & "\root\CIMV2")
Set objShare = objWMIService.Get("Win32_ComputerSystem.Name='SERVER'")
Set objInParam = objShare.Methods_("Rename").inParameters.SpawnInstance_()
objInParam.Properties_.Item("Name") = "server2"
objInParam.Properties_.Item("Password") = "admin"
objInParam.Properties_.Item("UserName") = "administrator"
Set objOutParams = objWMIService.ExecMethod("Win32_ComputerSystem.Name='SERVER'", "Rename", objInParam)
Wscript.echo "ReturnValue: " & objOutParams.ReturnValue

(tiré de http://www.aspfree.com/c/a/VB.NET/ListingModifying-Server-Information-with-Visual-BasicNET-and-VBScript-Using-WMI/4/)
3
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
29 juin 2007 à 10:12
utilises l'API

SetComputerNameEx

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
pOusSinUs Messages postés 38 Date d'inscription vendredi 29 juin 2007 Statut Membre Dernière intervention 2 août 2007
29 juin 2007 à 10:34
Le problème se situe dans le début du code, il doit y avoir un problème de déclaration!
Si quelqu'un voyait d'où cela viendrait ce m'aiderait beaucoup.
merci

Declare Function SetComputerNameEx Lib "kernel32" Alias "SetComputerNameExA" (ByVal NameType As COMPUTER_NAME_FORMAT, ByVal lpBuffer As String) As Long


Dim Changer As Long


If WScript.Arguments.Unnamed.length>0 Then
 changer = WScript.Arguments.Unnamed.Item(0)
ElseIf  InStr(1,WScript.FullName, "csript") > 0 Then
 WScript.StdOut.WriteLine "Saisissez le nom de l'ordinateur :"
 changer = WScript.StdIn.ReadLine
Else
 changer = InputBox ("Saisissez le nom de l'ordinateur :", "Informations nom d'ordinateur")
End If




Public Function ChangerNomOrdi(NouveauNomOrdi As String) As Boolean
    On Error Resume Next
    Changer = SetComputerNameEx(NouveauNomOrdi)
    If Err.Number = 0 Then
        ChangerNomOrdi = True
    Else
        ChangerNomOrdi = False
    End If
End Function




'Pour Changer le nom de votre ordinateur :


Dim Retour As Boolean


Retour = ChangerNomOrdi("MonOrdi")
If Retour = True Then
    MsgBox("Le nom de votre ordinateur a été changé")
Else
    MsgBox("Le nom de votre ordinateur n'a pas été changé")
End If
0
jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 28
29 juin 2007 à 10:41
Bonjour,

Casy va passer par là et te rappeler qu'il faut "typer" en Integer et pas en Long sous VB.Net.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pOusSinUs Messages postés 38 Date d'inscription vendredi 29 juin 2007 Statut Membre Dernière intervention 2 août 2007
29 juin 2007 à 10:52
merci de ta réponse, mais ca ne fonctionne toujours pas, ca bug dès la 1ere ligne.

Je suis désolé de pas être trop doué mais j'ai découvert le vbs cette semaine et j'ai un peu de mal.
0
jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 28
29 juin 2007 à 11:04
Attends là...
"j'ai découvert le vbs cette semaine et j'ai un peu de mal"

VBS est une chose et VB.Net en est une autre !!!!!
0
pOusSinUs Messages postés 38 Date d'inscription vendredi 29 juin 2007 Statut Membre Dernière intervention 2 août 2007
29 juin 2007 à 11:22
merci pour votre aide
0
guivara1985 Messages postés 7 Date d'inscription dimanche 3 juin 2007 Statut Membre Dernière intervention 11 juin 2008
11 juin 2008 à 10:34
guivara1985

Salut tt le monde ;),

bein je c pa comment le dire mais je ss pa pro a vb, donc g pa compris comment faire pour ke je puisse fonctionner ce code.

merci de me repondre
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
11 juin 2008 à 10:55
le code est on ne peut plus clair, pourtant :


'# Renomme la machine nommée "SERVER" en "server2"
Dim objWMIService 'As Object
Dim objShare 'As Object
Dim objInParam 'As Object
Dim objOutParams 'As Object

Set objWMIService = GetObject("winmgmts:\" & strComputer & "\root\CIMV2")
Set objShare = objWMIService.Get("Win32_ComputerSystem.Name='SERVER'")
Set objInParam = objShare.Methods_("Rename").inParameters.SpawnInstance_()

objInParam.Properties_.Item("Name") = "server2" '# Nouveau nom de la machine
objInParam.Properties_.Item("UserName") = "administrator" '# login d'un admin
objInParam.Properties_.Item("Password") = "admin" '# son mot de passe

Set objOutParams = objWMIService.ExecMethod("Win32_ComputerSystem.Name='SERVER'", "Rename", objInParam)

MsgBox "ReturnValue: " & objOutParams.ReturnValue
0
guivara1985 Messages postés 7 Date d'inscription dimanche 3 juin 2007 Statut Membre Dernière intervention 11 juin 2008
11 juin 2008 à 11:20
guivara1985

salut Renfield,

g esseyer ton code sur vb6 mais sa pa marcher , lors de l'execution il m'affiche la presence de kke bug.

merci de me montrer comment faire.
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
11 juin 2008 à 12:00
faut que tu adaptes le code, pour y inclure le nom de ta machine...

ok, ok, je te mache ça :

Public Function RenameComputer(ByRef vsOldName As String, ByRef vsNewName As String, ByRef vsAdminLogin As String, ByRef vsAdminPassword As String) As Long
Dim objWMIService As Object
Dim objShare As Object
Dim objInParam As Object
Dim objOutParams As Object
On Error GoTo Handler
Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2")
Set objShare = objWMIService.Get("Win32_ComputerSystem.Name='" & vsOldName & "'")
Set objInParam = objShare.Methods_("Rename").inParameters.SpawnInstance_()

objInParam.Properties_.Item("Name") = vsNewName
objInParam.Properties_.Item("UserName") = vsAdminLogin
objInParam.Properties_.Item("Password") = vsAdminPassword

Set objOutParams = objWMIService.ExecMethod("Win32_ComputerSystem.Name='" & vsOldName & "'", "Rename", objInParam)

RenameComputer = objOutParams.ReturnValue
Exit Function
Handler:
RenameComputer = Err.Number
End Function
0
guivara1985 Messages postés 7 Date d'inscription dimanche 3 juin 2007 Statut Membre Dernière intervention 11 juin 2008
11 juin 2008 à 14:05
guivara1985

Merci bien Renfield de ta reponse, mais je c pa eske je dois modifier les champs: Name , Username et Password ds le code ke tu m'a envoyer ou bien je l'utilise comme il est.

merci a+;)
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
11 juin 2008 à 14:19
1- oublie le langage SMS sur ce site
2- utilises la fonction 'RenameComputer' telle quelle, transmets lui simplement les parametres adéquats
0
guivara1985 Messages postés 7 Date d'inscription dimanche 3 juin 2007 Statut Membre Dernière intervention 11 juin 2008
11 juin 2008 à 14:44
guivara1985

Désolé Renfield, pour le langage SMS, et merci de ta reponse. je vais esseyer le code et te dire le resultat.

A++
0
cs_mimo2008 Messages postés 3 Date d'inscription jeudi 12 juin 2008 Statut Membre Dernière intervention 12 juin 2008
12 juin 2008 à 11:27
Salut tt le monde
moi aussi je veux changer le nom complet( pas le nom netbios)de mon ordi (pas un serveur) à l'aide d'un script
pouvez vous m'aider
merci
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
12 juin 2008 à 11:43
as-tu essayé la fonction décrite quelques messages plus haut ? (RenameComputer)
0