Question
se connecter à un serveur distant
- mohamed
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 4
- Remerciements reçus 0
Merci
En fait je dois lister sur chaque serveur du domaine les admins
Cordialement
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
- Messages : 1778
- Remerciements reçus 21
je suis pas sur de comprendre pourquoi tu parle de sql
mais le code suivant te permettra d'interrogé un serveur Francais et d'avoir les administrateur locaux du serveur :
[code:1]$serveur = \"srv-de-test\"
$group = [ADSI]\"WinNT://$serveur/Administrateurs\"
@($group.Invoke(\"Members\"«»)) |
foreach {$_.GetType().InvokeMember(\"Name\", 'GetProperty', $null, $_, $null)}
[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
- Messages : 1778
- Remerciements reçus 21
merci je le testerai après,
neamoins j'ai un autre problème là je souhaite utiliser chaque serveur qui m'a été retourné par une commande , et pour chaque serveur lister les admins local, j'ai un pétit script qui marche lorsque je spécifie un tableau contenant des serveurs, mais ne marche pas lorsque j'utilise la commande qui liste les serveurs. merci d'avance pour votre aide, #vousMeSauvez
[code:1]
#lister les serveurs se trouvant dans le domaine sous formes de caractère (out-string)
$servers=Get-ADComputer -Server \"vwi0CTD001\" -SearchBase \"OU=Serveurs,OU=Ressources,OU=Recette SI2M,DC=ad,DC=si2m,DC=tec\" -filter * | Format-list \"name\" | Out-String
#$servers | ForEach-Object -Process
#$servers=@(\"winsav01\",\"VWI2ESX121\"«»)
$test=@() # créé un tableau
$test+=[string]$servers # je veux mettre mes éléments retournés dans la ligne 2 dans ce tableau, je ne sais pas si c'est la bonne manière
$test
ForEach ($vm in $test)
{
[String] $NomOrdinateur= $vm
$connexion1 = [ADSI](\"WinNT://$NomOrdinateur,computer\"«») #je me connecte au groupe admin
#je liste mes groupes ( ici j'affiche juste le groupe 'administrateurs' )
$Group = $connexion1.psbase.Children | where{$_.psbase.SchemaClassName -eq 'group'} | % {$_.name -eq 'administrateurs'} # je me connecte au serveur
Write-Output \"Nom du serveur
\" $NomOrdinateur
Write-Output \"La liste des comptes du groupe Administrateurs de cet serveur est
\"
# se connecter au groupe
$connexion2 = [ADSI](\"WinNT://$NomOrdinateur/$Group,Group\"«»)
# lister le groupe admin
$member= $Connexion2.psbase.invoke('members') | % {$_.GetType().InvokeMember('Name','GetProperty',$null,$_,$null)} # je liste les comptes admin locals du groupe admins
$member[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
- Messages : 1778
- Remerciements reçus 21
petit décalage entre mes deux messages qui ce voulais à la suite !
si je prend mon premier script au quelle je rajoute ton code pour la liste des serveurs, ça donne ça :
[code:1]$servers = Get-ADComputer -Server \"vwi0CTD001\" -SearchBase \"OU=Serveurs,OU=Ressources,OU=Recette SI2M,DC=ad,DC=si2m,DC=tec\" -filter * | select \"name\"
$servers | foreach {
$server = $_
$server
$group = [ADSI]\"WinNT://$server/Administrateurs\"
@($group.Invoke(\"Members\"«»)) | foreach {
$_.GetType().InvokeMember(\"Name\", 'GetProperty', $null, $_, $null)
}
}
[/code:1]
je te laisse l'adapté en fonction de tes besoins

Connexion ou Créer un compte pour participer à la conversation.
- mohamed
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 4
- Remerciements reçus 0
Merci pour ton retour,
J'ai essayé de l'adapater à mon code mais j'ai un message d'erreur du genre
L'exception suivante s'est produite lors de la récupération du membre « Invoke » : « Le chemin réseau n’a pas été trouvé.
»
Au niveau de C:\Users\i15ot00\Malakoff\script\test.ps1 : 7 Caractère : 20
+ @($group.Invoke <<<< (\"Members\")) | foreach {
+ CategoryInfo : NotSpecified: ( : ) [], ExtendedTypeSystemException
+ FullyQualifiedErrorId : CatchFromBaseGetMember
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
- Messages : 1778
- Remerciements reçus 21
L'exception suivante s'est produite lors de la récupération du membre « Invoke » : « Le chemin réseau n’a pas été trouvé.
»
ce message indique le nom du serveur existe pas ou qu'il est éteint !
ou le nom de groupe n'est pas bon
tu a peut etre une erreur de frappe dans ton script

on peut regardé la partie concerné si tu veux

Connexion ou Créer un compte pour participer à la conversation.
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- se connecter à un serveur distant