Я создаю скрипт, чтобы получить время простоя/последней перезагрузки группы ПК, считанных из текстового файла.Форматирование выходного файла
Я могу выводить результаты в файл, но он продолжает повторять заголовок столбца, который я не хочу. В основном я хотел бы вывести первую строку для заголовков, а затем каждую строку после данных для данных внизу. Код ниже повторяет заголовок столбца в выходной файл, и между строками существует много пробелов. Будет ли проще работать с CSV-продуктом?
Вот мой код. Первая команда Out-File
состоит в том, чтобы перезаписать файл, если он существует, существенно очистив файл.
$computers = Get-Content "c:\temp\ps\pc.txt"
out-file -FilePath "C:\temp\ps\output.txt"
foreach ($computer in $computers)
{
$Computerobj = "" | select ComputerName, Uptime, LastReboot
$wmi = Get-WmiObject -ComputerName $computer -Query "SELECT LastBootUpTime FROM Win32_OperatingSystem"
$now = Get-Date
$boottime = $wmi.ConvertToDateTime($wmi.LastBootUpTime)
$uptime = $now - $boottime
$d =$uptime.days
$h =$uptime.hours
$m =$uptime.Minutes
$s = $uptime.Seconds
$Computerobj.ComputerName = $computer
$Computerobj.Uptime = "$d Days $h Hours $m Min $s Sec"
$Computerobj.LastReboot = $boottime
$Computerobj
out-file -FilePath "C:\temp\ps\output.txt" -in $computerobj -append
}
Это тоже хорошо. Любите свои бекон бит! – user3364233