Option Explicit
Title = "Renaming PC"
Dim Title,strComputer,objWMIService,strNewName,objComputer
Dim Obj,Question,err,strDescription,colComputers,x
'Run as Admin
If Not WScript.Arguments.Named.Exists("elevate") Then
CreateObject("Shell.Application").ShellExecute DblQuote(WScript.FullName) _
, DblQuote(WScript.ScriptFullName) & " /elevate", "", "runas", 1
WScript.Quit
End If
'************************************Main Script****************************************
Call Rename_PC()
'If you want to change the description of the computer, you should uncomment this line :
'Call Changing_Descrption()
Call Ask4Reboot()
'*********************************Changing PC Name *************************************
Sub Rename_PC()
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
strNewName = Inputbox ("Enter the new name of the PC : ",Title,"Local-001")
If strNewName = "" Then Wscript.Quit()
Set colComputers = objWMIService.ExecQuery ("Select * from Win32_ComputerSystem")
For Each objComputer in colComputers
err = objComputer.Rename(strNewName)
Next
End Sub
'*************************** Changing the description **********************************
Sub Changing_Descrption()
strDescription = Inputbox("Enter Description : ",Title,"Machine blalllaaaaaaa")
If strDescription = "" Then Wscript.Quit()
Set Obj= GetObject("winmgmts:\\" & strComputer).InstancesOf("Win32_OperatingSystem")
For Each x In Obj
x.Description = strDescription
x.Put_
Next
End Sub
'***************************************************************************************
Sub Ask4Reboot()
Question = MsgBox("PC name will change " & DblQuote(strNewName) & " after restarting this computer" & vbCrLf &_
"Yes to restart" & vbCrLF &_
"No to cancel the restart" & vbtab & "?",VbYesNo+VbQuestion,Title)
If Question = VbYes then
Reboot()
Else
wscript.Quit(1)
End If
End Sub
'**************************************
Function DblQuote(Str)
DblQuote = chr(34) & Str & chr(34)
End function
'**************************************
Sub Reboot()
Dim ws,Command,Result
Set ws = CreateObject("Wscript.Shell")
Command = "Shutdown.exe /r /t 20 /c "& DblQuote("Save your documents - PC restarts in 20 seconds")
Result = ws.run(Command,0,True)
End Sub
Bonsoir
Ayant récupéré ce code pour renommer le PC, je sollicite votre aide afin d'y intégrer un morceau permettant de renommer aléatoirement et automatiquement.
Je ne sais pas si c'est possible car je n'y connais pas grand chose.
Il s'agit de script VBScript qui fait le renommage d'une machine. Ce qui est très pratique dans le cadre d'un master pour l'installation en chaine de machines par les administrateurs.
Ce code est assez clair, je trouve.
Il utilise les fonctionnalités WMI de Windows.
Il existe une fonction pour les tirages aléatoires en VBScript :
Mais vous allez vous coller des doublons. Vous devez utiliser les fonctionnalités WMI pour éviter cela. Mais c'est bien plus complexe que qu'un tirage aléatoire.
Vous devez maitriser un minimum les outils que vous cherchez à utiliser.
Je demande un transfert du sujet dans un forum plus adapté (VBScript).
Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html