J'essaie de créer un objet personnalisé basé sur les noms de serveur à partir d'un fichier texte. Le script que j'ai va et importe le fichier txt dans une variable. Ensuite, exécute un serveur foreach dans la variable servers pour créer l'objet personnalisé. J'aimerais pouvoir afficher les propriétés de l'objet sous la forme d'une table qui n'inclut pas les informations d'en-tête à chaque fois.Powershell Objet personnalisé - ne pas passer pour chaque variable
Voir scénario et sortie ci-dessous:
$SERVERS = gc c:\servers.txt
foreach ($srv in $SERVERS)
{
$Obj = New-Object PsObject -Property`
@{
Computername = $srv
SecurityGroup = (Get-QADComputer $srv).memberof
RebootDay = ((Get-QADComputer $srv).memberof).split(',').split(' ')[2]
Combined = ((Get-QADComputer $srv).memberof).split(',').split(' ').split('=')[1]
RebootTime = $obj.combined.substring(0,4)
}
echo $obj | ft Computername,RebootDay -autosize
}
Ceci est la sortie actuellement:
Computername RebootDay
SERVER007 dimanche
Computername RebootDay
SERVER009 dimanche
Computername RebootDay
SERVER003 dimanche
Je voudrais qu'il ressemble davantage:
Computername RebootDay
SERVER007 dimanche
SERVER001 dimanche
SERVER009 dimanche
Vous ne pouvez pas sortie de la conduite d'une boucle 'ForEach' à quoi que ce soit (à ne pas confondre avec la boucle en ligne 'ForEach-Object' qui peut être raccourcie en' ForEach'). Au lieu de faire quelque chose comme '$ Results = ForEach ($ srv dans $ SERVERS) {
TheMadTechnician
@themadtechnician Pouvez-vous répondre directement à ma question? Cela a fonctionné !!! – eMpy