修剪PowerShell输出文件

时间:2018-09-18 13:24:07

标签: powershell active-directory trim

我的职位可以证明我是PowerShell的新手,但我正在尝试学习它,并从1950年代中期到2018年就自动化领域将我们的组织进行更新。我正在做的是清理旧计算机的Active Directory(AD)。我有一个脚本,可以识别它们并将其输出到TXT文件。然后,我针对该TXT文件运行了各种脚本,以移动位锁密钥并将计算机移出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\Software\1Scripts\Over_90_Day\Computer_over_90.txt

1 个答案:

答案 0 :(得分:2)

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\Software\1Scripts\Over_90_Day\Computer_over_90.txt