Question Sécurité avec Powershell

Plus d'informations
il y a 13 ans 1 mois #13807 par Chaudun
Sécurité avec Powershell a été créé par Chaudun
Bonjour à tous,

Débutant en PowerShell, je n'arrive pas à me sortir de mon erreur, qui j'imagine n'est pas très grande.

Le contexte est le suivant: je dois à l'aide d'un script, récupérer une clé bien spécifique dans la base de registre de chaque ordinateur (il y en a plus d'une centaine pour la petite info). Afin de renseigner ces ordinateurs, j'utilise nmap qui me crée un fichier .xml qui va me dire toutes les stations qui sont connectées. Ensuite, je vais comparer cette clé avec la bonne clé, si ce n'est pas la même l'ordinateur est éjecté du réseau, si c'est la même il accède au réseau.

Pour la théorie, cela s'arrête là.

Pour la pratique, j'ai beaucoup plus de mal car en testant avec un petit fichier qui contient trois noms d'ordinateurs (+1 que l'on nomera tout bonnement \"intrus\"), l'intrus récupère quand même la clé de registre qui ne lui appartient pas. Je ne sais pas trop comment faire, voici le début de mon script pour récupérer les clés dans la base de registre:

[code:1]foreach ($client in gest-content $rep\liste_client.txt) {
$version = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('LocalMachine',$client).OpenSubkey('...\...\...\Complements').GetValue('Hkcu')
\"$client $version\" | Out-File $repm\Registre_verif.txt -Append -encoding ASCII[/code:1]

Il se peut très certainement que j'ai une erreur dans mon code, n'hésitez pas à me lyncher, je suis mauvais en PowerShell.

Je vous remercie

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

Plus d'informations
il y a 13 ans 1 mois #13812 par Matthew BETTON
Bonjour,

Un début, au sujet du morceau de code que tu as posté :

[code:1]
# Initialisation d'un tableau
$ClientsList = @()

# Enumération des clients depus la liste contenue dans le fichier texte
foreach ($client in Get-Content $rep\liste_client.txt) {

# Initialisation de $DataVersion
$DataVersion = $null
# Récupération de la donnée de la valeur du registre
$DataVersion = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('LocalMachine',$client).OpenSubkey('...\...\...\Complements').GetValue('UneValeur')

# Ajout d'un nouvel objet dont les propriétés sont 'Name' et 'Version' au tableau
$ClientsList += New-Object PSObject -Property @{Name = $Client ; Version = $DataVersion}
}

# Export de la liste dans un fichier csv dont le délimiteur est le ';'
$ClientsList | Export-Csv $repm\Registre_verif.csv -NoTypeInformation -Delimiter \";\" -Encoding Default


[/code:1]

Cela reste une solution, un exemple.

@ +

Matthew<br><br>Message édité par: Matthew BETTON, à: 31/01/13 09:11

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

Plus d'informations
il y a 13 ans 1 mois #13835 par Chaudun
Réponse de Chaudun sur le sujet Re:Sécurité avec Powershell
C'est ça, non en fait c'est exactement ça.

Je te remercie Matthew, j'ai écris tes quelques lignes, puis la magie a opéré. Ta solution/exemple fonctionne parfaitement.

Du coup, j'ai pu faire exactement ce que je voulais.

Merci encore.

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

Plus d'informations
il y a 13 ans 1 mois #13842 par Chaudun
Réponse de Chaudun sur le sujet Re:Sécurité avec Powershell
J'ai un problème au niveau de la base de registre maintenant, j'ai voulu changer de clé car il m'en fallait une plus sécurisée. J'ai une erreur dont je ne comprends pas la signification:

Vous ne pouvez pas appeler de méthode sur une expression ayant la valeur Null.


Qu'est-ce que cela veut dire ? Que la clé que je recherche n'a pas de valeur ? Ce serait plutôt bizarre puisqu'en faisant un petit regedit, je peux voir cette valeur.

Est-ce normal ou je suis en train de buguer sur quelque chose de trop simple pour que je m'en rende compte ?

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

Plus d'informations
il y a 13 ans 1 mois #13846 par SiSMik
Réponse de SiSMik sur le sujet Re:Sécurité avec Powershell
Bonsoir,

L'erreur que tu as t'indiques que le tu essayes d'utiliser une méthode sur un objet qui n'est pas renseigné.

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

Plus d'informations
il y a 13 ans 1 mois #13847 par Chaudun
Réponse de Chaudun sur le sujet Re:Sécurité avec Powershell
Bonjour,

Comment faire alors pour aller chercher cet objet ? Par ce qu'il existe bien , mais pour Powershell, ça ne lui plaît pas et ne me renvoie rien.

Et si je mets la clé de la base de registre dans une variable, et que je demande d'aller chercher cette variable dans la base de registre, est-ce que cela pourrait fonctionner ?

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

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