Passage de la variable avec des propriétés à l'argumentation, de perdre des propriétés

StackOverflow https://stackoverflow.com//questions/9656175

  •  11-12-2019
  •  | 
  •  

Question

$Computers = Get-QADComputer -sizelimit 5

retourne une liste de cinq ordinateurs.Je boucle avec

foreach($computer in $computers) {
echo "and then I can do this $computer.name"

Pour obtenir uniquement le nom d'ordinateur de $ d'ordinateurs. Mais quand j'essaie de le transmettre au démarrage comme ceci:

    Start-Job -FilePath $ScriptFile -Name $Computer.Name -ArgumentList $Computer

Je suis incapable de faire un ordinateur $ Computer.nom Insided $ ScriptFile.Je dois le transmettre comme $ ordinateur.nomez-le et appelez-le comme $ args [0].Mais ensuite, je perds toutes les autres propriétés (j'utilise un groupe Insided $ ScriptFile.)

Qu'est-ce que je ne passe pas ici?Que voudriez-vous appeler $ ordinateur?Et que voudriez-vous appeler $ ordinateur.nom?

SUNE :)

Était-ce utile?

La solution

Vous devriez être capable d'obtenir la propriété Nom avec $ args [0] Nom. Nom. Nom.Si vous souhaitez accéder au paramètre Nom comme SO: $ ordinateur.name, vous devez définir un paramètre en $ scriptfile:

param(
   $Computer
)

$Computer.name

Au fait 'Vous ne pouvez pas faire cela:

echo "and then I can do this $computer.name"

PowerShell élargit uniquement la valeur $ Ordinateur.Mettez-le dans une sous-expression:

echo "and then I can do this $($computer.name)"

Autres conseils

Exactement, voici comment j'écrirais quelque chose de similaire:

#Get Services
$Services = Get-Service
#Limit results to the first 5 entries
$Services = $Services[0..4]
#Loop through services
foreach ($Service in $Services)
{
    #For each Service run a basic echo to host to prove that the Service was passed in successfully
    Start-Job -ScriptBlock { param ($Service) Write-Host "Service Name is $($Service.Name)" } -ArgumentList $Service
}

Vous pouvez ensuite récupérer les travaux comme celui-ci:

#Retrieve Jobs
Get-Job | Receive-Job

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top