Question registre a distance

Plus d'informations
il y a 14 ans 5 mois #10399 par steve
registre a distance a été créé par steve
Bonjour,
je suis nouveau en PS et je souhaiterai une petite aide pour réaliser un petit script qui me serait bien utile.

Je voudrai recuperer le logon account utilisé lors du demarrage d'un service, donc parcourir tous les services de plusieurs machines distantes et recuperer cette valeur.

J'avais trouvé mon bonheur avec la commande get-itemproperty mais cette commande ne fonctionne pas a distance

Merci pour votre aide

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

Plus d'informations
il y a 14 ans 5 mois #10402 par Matthew BETTON
Réponse de Matthew BETTON sur le sujet Re:registre a distance
Bonjour,

Une solution consiste à passer par le WMI.

En effet, la Cmdlet 'Get-WMIObject' permet de passer des informations d'authentifications en paramètre : '-Credential'.

Via le WMI, on peut accéder à une classe qui permet d'accéder au registre, de liste les clefs, valeurs et données, de les modifier, d'en supprimer et d'en ajouter : stdRegProv .

[code:1]$objreg = Get-WmiObject -list -namespace root\default -computerName $ComputerName -credential $Credential | where-object { $_.name -eq \"StdRegProv\" }[/code:1]

Voir ici une explication de Laurent DARDENNE, dans ce même forum, sur le sujet, avec une approche un peu différente, sans passer par la Cmdlet 'Get-WmiObject' ...

L'exemple qu'il donne est le suivant :

[code:1]$MyCredential=Get-Credential
$MachineName=\"test\"
$WmiNameSpace=\"\\$MachineName\ROOT\default\"
$scope =New-Object System.Management.ManagementScope $WmiNameSpace
$scope.options.Username = $MyCredential.GetNetworkCredential().Username
$scope.options.Password = $MyCredential.GetNetworkCredential().Password
$stdReg= new-object System.Management.ManagementClass($Scope,\"\\$MachineName\ROOT\default:«»StdRegProv\",$null)[/code:1]

Enjoy B)

@ +

Matthew BETTON<br><br>Message édité par: Matthew BETTON, à: 12/10/11 11:34

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

Plus d'informations
il y a 14 ans 5 mois #10404 par LEON
Réponse de LEON sur le sujet Re:registre a distance
Bonjour,

Sinon en passant par le PS-Remoting?
[code:1]
Enter-PSSession -ComputerName localhost
Set-Location HKLM:
$Variable = Get-ChildItem HKLM:\SOFTWARE
Get-ItemProperty -Path $Variable
[/code:1]

Cordialement,

Showtime

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

Plus d'informations
il y a 14 ans 5 mois #10406 par Matthew BETTON
Réponse de Matthew BETTON sur le sujet Re:registre a distance
Effectivement le remoting est une bonne approche... A condition d'en avoir la possibilité, ce qui n'est pas le cas de tout le monde... Snif !

Pour une automatisation, une solution :

[code:1]$ScriptBlock = {
Set-Location HKLM:
$Variable = Get-ChildItem HKLM:\SOFTWARE
$ret = Get-ItemProperty -Path $Variable
return $ret
}

$ComputersList = Get-Content .\MaListe.txt

foreach($ComputerName in $ComputersList){
$resultat = Invoke-Command -ComputerName $ComputerName -Credential $Credential -ScriptBlock $ScriptBlock
Write-Host \&quot;$ComputerName : $resultat\&quot;
}[/code:1]

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

Plus d'informations
il y a 14 ans 5 mois #10407 par LEON
Réponse de LEON sur le sujet Re:registre a distance
RRRoooh merci Mathieu, je ne connaissais pas le Invoke-Command avec le -Scriptblock. C'est vraiment ultra puissant quand même PS :D.

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

Plus d'informations
il y a 14 ans 5 mois #10412 par Matthew BETTON
Réponse de Matthew BETTON sur le sujet Re:registre a distance
Showtime écrit:

Mathieu


Je préfère Matthew ;)

Showtime écrit:

C'est vraiment ultra puissant quand même PS :D.


Je pense que nous sommes plusieurs à nous efforcer chaque jour de le faire comprendre au plus grand nombre :P

:laugh:

Remarque : PowerShell... et WinRM ! Sans WinRM, le Remoting ne serait pas possible.

@ +

Matthew<br><br>Message édité par: Matthew BETTON, à: 12/10/11 17:44

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

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