Question Script qui renomme lesPCs à partir d'une liste CSV

Plus d'informations
il y a 13 ans 5 mois #12878 par Jarno Pietercil
Bonjour la communauté :)

Petit nouveau et sur le site, et en tant qu'administrateur...
J'ai atterri dans une petite entreprise (120 PC) qui est un peu rétro :p

On a migré vers 2003 --> 2008 R2 et XP --> Win7, Maintenant, je m'aventure dans une convention de nom...

Mais, comme vous vous en doutez, je n'ai pas envie de renommer PC par PC.

J'ai trouvé un script assez simple mais qui mérite d'être peaufiné.

- Ce qu'il fait:

A partir d'un CSV, il va chercher l'ancien nom de pc pour le renommer avec un nouveau

OldName,NewName
DSPLS001,test001

Le problème de ce script c'est que si j'ajoute des PC dans le CVS, il refait ceux déjà modifiés...

Set-executionpolicy remotesigned

$csvfile = \"C:\rename\rename.csv\"

Import-Csv $csvfile | foreach {

$oldName = $_.OldName;
$newName = $_.NewName;

Write-Host \"Renaming computer from: $oldName to: $newName\"

netdom renamecomputer $oldName /newName:$newName /uD:ELDW-DOM\jpi /passwordD:\"gianna&007\" /force
}


- Ce qu'il faudrait:

Qu'il check d'abord, dans le CSV, $oldName et regarde dans l'AD s'il existe.

S'il n'existe pas, on go to exit
S'il existe, alors on renomme $oldName par $newName

je me permets de vous demander de l'aide car je suis ultra débutant en PS et que je n'ai malheureusement pas assez de temps pour ce projet-ci.

Merci pour votre aide :)

Jarno<br><br>Message édité par: Jarnax, à: 9/10/12 16:11

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 5 mois #12879 par SiSMik
Salut,

Bienvenu sur le forum :)

Quelque points à éclaircir avant d'aller bosser dans le vent...

WinRM est-il activé sur le postes client de ton réseau ?
Tu lances les scripts à partir d'un serveur 2008R2 ?
Et enfin, tu souhaites juste renommer les postes dans l'AD ?

Merci pour les réponses...

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 5 mois #12880 par Jarno Pietercil
Quelqu'un m'a aidé sur le site technet:

voici la solution:


[code:1]
function ComputerExists ($sam) { [bool]([adsisearcher]\&quot;(sAMAccountName=$sam$)\&quot;«»).FindOne() }

$csvfile = \&quot;C:\rename\rename.csv\&quot;
$csv = Import-Csv $csvfile
foreach ($c in $csv) {
$oldName = $c.oldName
$newName = $c.newName
if (-not(ComputerExists $newName)) {
Write-Host \&quot;Renaming computer from: $oldName to: $newName\&quot;
netdom renamecomputer $oldName /newName:$newName /uD:«»DOMAIN\*** /passwordD:\&quot;*******\&quot; /force
}
else { Write-Host \&quot;$newName already exists\&quot; }
}
[/code:1]

Pour répondre à ta question,

- Winrm ne doit pas être activé sur Win7 (il est déjà si pas de GPo qui désactive) par contre, faut le faire sur WinXP

- Le script tourne sur mon PC (Windows 7 Ultimate)

- Je voulais renommer le PC et qu'il le fasse dans l'AD aussi

merci :)

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.041 secondes
Propulsé par Kunena