我的PowerShell技能还处于起步阶段,请耐心等待。 我需要做的是从文本文件中获取PC列表并检查文件是否存在。一旦确定,我需要拿起那些拥有该文件的PC,并检查文件中的FileVersion。然后最后输出到CSV文件。
这就是我所拥有的,而且我不确定这是否应该是我应该如何去做的:
ForEach ($system in (Get-Content C:\scripts\systems.txt))
if ($exists in (Test-Path \\$system\c$\Windows\System32\file.dll))
{
Get-Command $exists | fl Path,FileVersion | Out-File c:\scripts\results.csv -Append
}
答案 0 :(得分:4)
对于初学者脚本来说还不错,你几乎是对的。让我们稍微修改一下。要获取版本信息,我们只需从another an answer获取有效的代码即可。
ForEach ($system in (Get-Content C:\scripts\systems.txt)) {
# It's easier to have file path in a variable
$dll = "\\$system\c`$\Windows\System32\file.dll"
# Is the DLL there?
if ( Test-Path $dll){
# Yup, get the version info
$ver = [System.Diagnostics.FileVersionInfo]::GetVersionInfo($dll).FileVersion
# Write file path and version into a file.
Add-Content -path c:\scripts\results.csv "$dll,$ver"
}
}