Question tester les accès

Plus d'informations
il y a 13 ans 2 semaines #14212 par Feredyr
tester les accès a été créé par Feredyr
Bonjour,

je débute en PowerShell et pour le moment je ne vois pas comment faire...
Voilà mon problème:

Je dois tester les accès d'un compte sur un grand parc de serveur.
La liste des serveurs j'arrive a l'extraire du CSV pour n'en garder que les noms.
Par contre mon Boss veux que je me connecte sur chaque serveur (plus de 1000) pour vérifier qu'on est bien habilité dessus, et vérifier certaines infos (modèle etc)
le début de mon script donne ca
[code:1]
$ListingServer = Import-Csv -Path \".\test-import1.csv\" -Delimiter \";\"
foreach ($Server in $ListingServer)
{
Write-Host $Server.Nom
}
[/code:1]
ce qui marche très bien. Mais je ne vois pas comment lancer la connection TSE vers $Server.nom

Une Idée ?

Merci

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

Plus d'informations
il y a 13 ans 2 semaines #14213 par Philippe
Réponse de Philippe sur le sujet Re:tester les accès
salut Feredyr

Je crois pas que l'on puisse ouvrir une connection TSE avec powershell (du moins faire des manip dans la session).
quel type d'habilitation tu dois avoir (admin ou que bureau a distance ou autre)
Regarde les packs sur ce site
archive.msdn.microsoft.com/PowerShellPack

en particulier &lt; PSSystemTools &gt; pour les infos sur le serveurs<br><br>Message édité par: 6ratgus, à: 11/03/13 11:36

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

Plus d'informations
il y a 13 ans 2 semaines #14216 par Feredyr
Réponse de Feredyr sur le sujet Re:tester les accès
Je dois etre admin des serveurs.
pourquoi ?

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

Plus d'informations
il y a 13 ans 2 semaines #14224 par SiSMik
Réponse de SiSMik sur le sujet Re:tester les accès
J'ai trouvé ça..

poshcode.org/676

Enjoy :)

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

Plus d'informations
il y a 13 ans 2 semaines #14229 par ANTRI Mohamed
Réponse de ANTRI Mohamed sur le sujet Re:tester les accès
Si tu est dans un environnement active directory tu peut utiliser [code:1]Get-ADComputer[/code:1] avec un attribut -Server ou tu pourra spécifier le nom des serveurs pour lesquels tu veut récup les infos. Après tu aura beaucoup de paramètre, par exemple -OperatingSystem pour obtenir l'OS du serveur en question. par contre si tu n'est pas dans un environnement AD tu pourra utiliser [code:1]Get-WmiObject Win32_OperatingSystem[/code:1]

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

Plus d'informations
il y a 13 ans 1 semaine #14256 par Philippe
Réponse de Philippe sur le sujet Re:tester les accès
salut Feredyr

pour etre admin de tous les serveurs d'un domaine il te suffit d'etre dans le groupe \&quot;admins du domaine\&quot; de ton AD. :)
Donc je pense que tu veux etre admin local sur chaques serveurs ! B)

je dirais (toujours dans l'hypothèse d'un domaine) qu'une GPO ferait l'affaire mais c'est pas du powershell. :ohmy:

une boucle avec la fonction de benduru t'ouvrira des sessions sur les serveurs mais tu ne sauras pas si t'est admin. :unsure:

et faudra les fermer manuellement. :blink: :(

Il reste cette solution :
Vérifier le groupe admin de chaques serveurs ! :P

[code:1]
# Get-LocalGroupMembers.ps1
param ([String]$machine='.',
[String]$Groupe=$(Throw 'Nom de groupe obligatoire ! '))

$connexion = [ADSI]\&quot;WinNT://$machine/$groupe,group\&quot;
$connexion.psbase.invoke('Members') |
foreach{$_.GetType().InvokeMember('Name', 'GetProperty',
$null, $_, $null)}[/code:1]
fonction extraite du livre du menu de gauche
tu la rajoute a ta boucle proposé au debut avec quelque adaptation et tu traite les reponses biensur !!! ;)

Pour finir ca devrait donner un truc comme ca :
[code:1]$ListingServer = Import-Csv -Path \&quot;.\test-import1.csv\&quot; -Delimiter \&quot;;\&quot;
foreach ($Server in $ListingServer)
{
$Serveur=$Server.Nom
$utilisateur_que_tu_test='mon-nom'
$Groupe='administrateurs'
$connexion = [ADSI]\&quot;WinNT://$Serveur/$groupe,group\&quot;
$ok = 0
$connexion.psbase.invoke('Members') | foreach{if ($_.GetType().InvokeMember('Name', 'GetProperty', $null, $_, $null) -eq $utilisateur_que_test) {$ok=1} }

if ($ok)
{write-host \&quot;$serveur ok\&quot;}
else
{write-host \&quot;$serveur KO\&quot;}
}[/code:1]

bonne vacances<br><br>Message édité par: Arnaud, à: 12/03/13 20:55

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

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