在输出末尾添加空白行

时间:2019-08-21 15:21:37

标签: powershell

我是Powershell的新手,并且了解`n 和“”可以在正确的位置添加空白行。我似乎无法让它在输出之前或之后正确地放置空白行

这只是我创建的基本代码,可以更好地理解powershell,而该代码可以执行我想要的工作。现在我可悲的是似乎很难将`n

放在哪里
 Get-ADComputer -filter * | Where-Object {$_.name -like "test-*"} | ForEach-Object { systeminfo /s $_.name } | Select-String 'Host Name', 'Total Physical memory', 'Available Physical Memory' | Add-Content C:\scripts\RamConfig.txt

输出是正确的,而不是像30台计算机一样停止。只是看起来草率,因为每台AD计算机之间都没有空白行。

1 个答案:

答案 0 :(得分:2)

在使用AD cmdlet时,建议使用通配符过滤器 ever 。另外,使用wmi代替systeminfo.exe,因为使用对象总是比使用字符串容易。

foreach ($computer in Get-ADComputer -Filter 'Name -like "test-*"') {
    $os = Get-WmiObject -Class Win32_OperatingSystem -ComputerName $computer.Name
    $mem = Get-WmiObject -Class Win32_ComputerSystem -ComputerName $computer.Name

    $hostname = $os.CSName
    $availMem = ($os.FreePhysicalMemory / 1GB).ToString('00.00')
    $totalMem = ($mem.TotalPhysicalMemory / 1GB).ToString('00.00')

    @"
Host Name:                 $hostname
Total Physical Memory:     $totalMem GB
Available Physical Memory: $availMem GB

"@ | Add-Content -Path C:\scripts\RamConfig.txt
}