Question Tri sur la sortie d'une commande Invoke-Command -Session

Plus d'informations
il y a 3 ans 1 mois - il y a 3 ans 1 mois #30517 par sixtyfour
Bonjour,
Ce code consiste a remonter les adresses IP et la version de MDT installée sur des serveurs distants.

$password = Get-Content C:\***\key.txt | ConvertTo-SecureString -Key (Get-Content C:\***\aes.key)
$cred = New-Object System.Management.Automation.PsCredential("***",$password)
$s = New-PSSession -ComputerName 192.168.64.142,192.168.64.143,192.168.64.144,192.168.64.145,192.168.64.146,192.168.64.147,192.168.64.148 -Credential $cred

Invoke-Command -Session $s -Scriptblock {
$version = Get-WmiObject -Class Win32_Product | Where-Object name -like "Microsoft Deployment Toolkit*" | select -expand Name
$env:HostIP = (
    Get-NetIPConfiguration |
    Where-Object {
        $_.IPv4DefaultGateway -ne $null -and
        $_.NetAdapter.Status -ne "Disconnected"
    }
).IPv4Address.IPAddress
write-host $env:HostIP -ForegroundColor Yellow
$version
}

Le resultat : 

10.150.14.249
Microsoft Deployment Toolkit (6.3.8456.1000)
10.147.14.249
Microsoft Deployment Toolkit (6.3.8456.1000)
10.149.14.249
Microsoft Deployment Toolkit (6.3.8456.1000)
10.144.14.249
Microsoft Deployment Toolkit (6.3.8456.1000)
10.142.14.249
Microsoft Deployment Toolkit (6.3.8456.1000)

Je voudrai simplement afficher la sortie en triant les IP par ordre

10.142.14.249
Microsoft Deployment Toolkit (6.3.8456.1000)
10.143.14.249
Microsoft Deployment Toolkit (6.3.8456.1000)
10.144.14.249
Microsoft Deployment Toolkit (6.3.8456.1000)
....
On le fait facilement avec la commande foreach mais celle ci s'effectue sequentiellement et lentement.
Dernière édition: il y a 3 ans 1 mois par sixtyfour.

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

Plus d'informations
il y a 3 ans 1 mois #30518 par Laurent Dardenne
Salut,
les 2 informations devraient être regroupées dans un objet, ici une partie est dans le pipeline l'autre dans la console.
Et pour trier les adresses .

Tutoriels PowerShell

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

Plus d'informations
il y a 3 ans 1 mois #30522 par sixtyfour
J'ai fait quelque essais sans succes 
Serait t-il possible de mettre le morceau de code ?

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

Plus d'informations
il y a 3 ans 1 mois #30524 par Laurent Dardenne
qq comme ceci :
$s = New-PSSession -ComputerName .
$a=Invoke-Command -Session $s -Scriptblock {
    #$version = Get-WmiObject -Class Win32_Product | Where-Object name -like "Microsoft Deployment Toolkit*" ...
    $HostIP = (
        Get-NetIPConfiguration |
        Where-Object {
            $_.IPv4DefaultGateway -ne $null -and
            $_.NetAdapter.Status -ne "Disconnected"
        }
    ).IPv4Address.IPAddress
    [pscustomObject]@{
     PSTypeName='RemoteMdtVersion'
     MDTversion='1.2.0' -as [Version] #A vérifier
     HostIP=$HostIP  -as [Version]
    }
}

$A|gm
Note : le type (Version] est reconstruit côté appelant.

Tutoriels PowerShell

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

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