Important Ajouter des infos dans le champs "Description" AD

Plus d'informations
il y a 9 ans 5 mois #22732 par Philippe
salut ayce

ton script est bien même si il n'est pas complet

mais il manque quelques chose :

quel est ta question !!!?

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

Plus d'informations
il y a 9 ans 5 mois #22735 par Philippe

J'arrive pas a avancer je ne comprend pas ce qu'il manque

ok

pour le script tel qu'il est, je l'ai corrigé et complété :

[code:1]
import-module activedirectory
$Computers =Get-ADComputer -Filter * -searchBase \"OU=Test,ou=Postes,ou=agpf,ou=unites,ou=val-de-loire,ou=centres,dc=inra,dc=local\"
foreach ($computer in $computers) {
$computername = $computer.name
$UserName = ((Get-WmiObject -Class Win32_ComputerSystem -ComputerName $ComputerName -Property UserName).UserName -split \"\\\"«»)[1]
$Serial = (Get-WmiObject -Class Win32_bios -ComputerName $ComputerName ).serialnumber

$ComputerModel =(Get-WmiObject -Class Win32_ComputerSystem -ComputerName $ComputerName ).Model

$Architecture = (Get-WmiObject Win32_OperatingSystem -computername $computername).OSArchitecture.Remove(2,5)
$IP = (get-wmiobject -class Win32_NetworkAdapterConfiguration -ComputerName $ComputerName | Where{$_.IpEnabled -Match \"True\"}).ipaddress | where { $_ -ne \"$null\" }
$Mac = (get-wmiobject -class Win32_NetworkAdapterConfiguration -ComputerName $ComputerName | Where{$_.IpEnabled -Match \"True\"}).MACAddress | where { $_ -ne \"$null\" }
$OS = (Get-WmiObject Win32_OperatingSystem -ComputerName $ComputerName ).caption

$OS = switch ($OS) {
\"Microsoft Windows 10 Professionnel\" {\"10\"};
\"Microsoft Windows 7 Professionnel\" {\"7\"};
\"Microsoft Windows 8.1 Professionnel\" {\"8.1\"};
}

$Desc = \"$UserName # $ComputerModel # $Serial # $Mac # $IP # $OS # 0x$Architecture \"
$Desc
Set-ADComputer $computer –Description “$Desc”
}


[/code:1]
dis moi ce qu'il te manque ou qui ne va pas
tu n'a pas prévu le cas ou un PC est éteint
.

Message édité par: 6ratgus, à: 8/12/16 15:35

Message édité par: 6ratgus, à: 8/12/16 15:37<br><br>Message édité par: 6ratgus, à: 8/12/16 15:45

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

Plus d'informations
il y a 9 ans 5 mois #22752 par Philippe

J'aimerais maintenant que cela ce fais automatiquement sur tout les poste présent dans un UO spécifique

tu fait comme tu l'avais sur ton premier script
avec la boucle le get-adcomputer et foreach

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

Plus d'informations
il y a 9 ans 5 mois #22755 par Philippe

Tu pourrais le faire car j'ai pas compris comme cela fonctionne


[code:1]import-module activedirectory
$Computers =Get-ADComputer -Filter * -searchBase \&quot;ou=Test,ou=Postes,ou=agpf,ou=unites,ou=val-de-loire,ou=centres,dc=inra,dc=local\&quot; -Properties OperatingSystemVersion, LastLogonDate
foreach ($computer in $computers) {

$ComputerSystem = Get-WmiObject -Class Win32_ComputerSystem -ComputerName $($computer.DNSHostName) -Property UserName, Model, name # recup des info computer
$ComputerName =$ComputerSystem.Name #Variable du nom de l'ordinateur si différent du nom Active Directory
$UserName = (($ComputerSystem.UserName) -split \&quot;\\\&quot;«»)[1] #Variable de nom d'utilisateur actif
$ComputerModel = $ComputerSystem.Model #Variable du model du poste

$OperatingSystem = Get-WmiObject Win32_OperatingSystem -computername $ComputerName # recup des info system
$Architecture = $OperatingSystem.OSArchitecture.Remove(2,5) #Variable pour l'architecture du PC
$OS =(Get-WmiObject -Class Win32_OperatingSystem -ComputerName $ComputerName).caption #Variable de son système d'exploitation

$OS = switch ($OS) { #Transformation du nom officiel en un nom plus simple
\&quot;Microsoft Windows 10 Professionnel\&quot; {\&quot;10\&quot;};
\&quot;Microsoft Windows 7 Professionnel\&quot; {\&quot;7\&quot;};
\&quot;Microsoft Windows 8.1 Professionnel\&quot; {\&quot;8.1\&quot;};
}

$Serial = (Get-WmiObject -Class Win32_bios -NameSpace \&quot;root\CIMV2\&quot; -ComputerName $ComputerName ).serialnumber #Variable du numéro de série

$NetworkAdapterConfiguration = get-wmiobject -class Win32_NetworkAdapterConfiguration -ComputerName $ComputerName | Where{$_.DNSDomain -Match \&quot;inra.local\&quot;} # recup des info network
$IP = $NetworkAdapterConfiguration.ipaddress | where { $_ -ne \&quot;$null\&quot; } #Variable de son adresse IP
$Mac = $NetworkAdapterConfiguration.MACAddress | where { $_ -ne \&quot;$null\&quot; } #Variable de son adresse MAC

$Desc = \&quot;$UserName # $ComputerModel # $Serial # $Mac # $IP # W$($OS)x$Architecture #\&quot;
write-host $Desc #Affiche sur l'écran le résultat final
Set-ADComputer $ComputerName –Description “$Desc” # modification de l'AD
}

[/code:1]

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

Plus d'informations
il y a 9 ans 5 mois #22764 par Philippe
Ayce écrit:

La variable $computer n'est pas définie donc cela ne marche pas ... tu pourrais me dire quelle est cette variable :)


la variable ce remplie automatique sur cette ligne
[code:1]foreach ($computer in $computers) {[/code:1]

si tu a un message d'erreur peut tu le donner en entier stp
.

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

Plus d'informations
il y a 9 ans 5 mois #22773 par Philippe
la premiere erreur en jaune donne le ton
la deuxième erreur confirme la premiere

l'ordi n'a pas access au domaine
- soit tu n'utilise pas un compte du domaine
- soit l'ordinateur n'est pas dans le domaine
- soit le carte réseau est debrancher
- soit le serveur de domaine n'est pas en windows 2008 R2 ou +
- soit autre chose ???

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

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