Powershell 如何从AD或txt输出
我试图运行这个程序对远程pc/服务器列表或通过广告输出TXT,并显示在csv或html中,如果有人可以提供一些帮助或建议,我将非常感激 我唯一的限制是我所有的机器只运行powershell v2Powershell 如何从AD或txt输出,powershell,powershell-2.0,Powershell,Powershell 2.0,我试图运行这个程序对远程pc/服务器列表或通过广告输出TXT,并显示在csv或html中,如果有人可以提供一些帮助或建议,我将非常感激 我唯一的限制是我所有的机器只运行powershell v2 Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, Install
Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate |
Format-Table –AutoSize
是否要获取该命令的输出并将其放入文件中?PowerShell有很多工具可以实现这一点。但是,您需要先删除
格式化表
命令
请看,Format Table
就是要让您的命令输出在PowerShell窗口中看起来非常好,因此它有很多硬返回、列以及定义在其中的东西,这些东西对控制台来说很有意义,但在导出时看起来像垃圾
对于这样的数据,我认为逗号分隔值可能是一种方法
Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* |
Select-Object DisplayName, DisplayVersion, Publisher, InstallDate |
Export-CSV -NoTypeInfo -Path \\server\share\$($env:ComputerName)_Programs.csv
此示例将使用-NoTypeInformation
开关导出CSV,忽略PowerShell通常添加的导入助手信息。我想知道制作文件的计算机的名称会很有用,所以这就是它要做的。编辑-Path
指向带有共享的服务器,然后离开。您将得到如下文件:
- ComputerA_Programs.Csv
- ComputerB_Programs.Csv
- 计算机程序.Csv
ForEach ($COMPUTER in (Get-ADComputer -Filter * | Select-Object -ExpandProperty Name))
{if(!(Test-Connection -Cn $computer -BufferSize 16 -Count 1 -ea 0 -quiet))
{write-host "cannot reach $computer" -f red}
else{Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate |
Export-CSV -NoTypeInfo -Path "\\server\share$\$Computer_Programs.csv" -NoTypeInformation}}
如果您有文本形式的计算机列表
Foreach ($computer in ($computers= Get-Content "c:\Computers.txt" ))
{if(!(Test-Connection -cn $computer -BufferSize 16 -Count 1 -ea 0 -quiet))
{write-host "cannot reach $computer" -f red}
else{
Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate |
Export-CSV -NoTypeInfo -Path "\\server\share$\$Computer_Programs.csv" -NoTypeInformation
}}
非常感谢您,PS还是新手,因此以正确的顺序获取命令仍然让我困惑(这并不难),当然,很乐意提供帮助。如果这篇文章对你有帮助,记得把它标记为答案并投赞成票:)