这个问题在这里已有答案:
我是PowerShell的新手,因为我的帖子可以证明,但我正在努力学习它并从1950年代中期到2018年更新我们的组织。我正在做的是清理旧机器的Active Directory(AD)。我有一个运行的脚本识别它们并将它们输出到TXT文件。然后我有针对该TXT文件运行的各种脚本来移动bitlocker键并将机器移出AD并删除它们。
但是我的输出文件是在计算机名称的末尾添加空格,因此副词脚本无法识别文件,因为它寻找'computername .txt'或'computername *而不是'computername.txt'和'computername'我知道那里是修剪功能,我只是无法弄清楚我的生活,在哪里放修剪命令来清理输出。出于安全原因,脚本在下面,省略了明显的信息。
## 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
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