Trim PowerShell 输出文件

Trim PowerShell Output File

正如我的帖子所证明的那样,我是 PowerShell 的新手,但我正在尝试学习它并就自动化而言从 1950 年代中期到 2018 年更新我们的组织。我正在做的是清理旧机器的 Active Directory (AD)。我有一个脚本,我 运行 识别它们并将它们输出到 TXT 文件。然后我有各种脚本 运行 针对该 TXT 文件移动 bitlocker 密钥并将机器移出 AD 并删除它们。

但是我的输出文件在计算机名称的末尾添加了空格,因此后续脚本无法识别文件,因为它正在寻找 'computername .txt' 或 'computername * 而不是 'computername.txt' 和 'computername' 我知道有 Trim 函数,我就是想不通我的生活,把 trim 命令放在哪里来清理输出。出于安全原因,下面的脚本省略了明显的信息。

## Script will pull all systems with Computer account password over 90 days old.  
##____________________________________________________________________________________

$d = [DateTime]::Today.AddDays(-90)
Get-ADComputer -Filter 'PasswordLastSet -le $d' -Properties PasswordLastSet -SearchBase "OU=WIN10,OU=,OU=,DC=,DC=,DC=,DC=" | FT Name | Out-File \SERVER\SoftwareScripts\Over_90_Day\Computer_over_90.txt

Format-Table (ft) 或 Format-List (fl) 仅当它是管道中的最后一个元素时才有效,并且仅在控制台中格式化数据。这并不意味着格式化数据以保存在文件中。

Select-Object -ExpandProperty 就是你要找的:

Get-ADComputer -Filter 'PasswordLastSet -le $d' -Properties PasswordLastSet -SearchBase "OU=WIN10,OU=,OU=,DC=,DC=,DC=,DC=" | Select-Object -ExpandProperty Name | Out-File \SERVER\SoftwareScripts\Over_90_Day\Computer_over_90.txt