Моя конечная цель - получить все исполняемые файлы, которые ниже версии 1.0.0.0, и обновить эти папки новыми обновленными файлами, скопировав их в него.
Есть несколько мест назначения, в которых они находятся, а именно наш терминальные серверы. давайте использовать приведенный ниже пример.
$RDP1Path = "\\RDP01\C$\Program Files (x86)\Software\"
$RDP2Path = "\\RDP02\C$\Program Files (x86)\Software\"
$RDP3Path = "\\RDP03\C$\Program Files (x86)\Software\"
$RDP4Path = "\\RDP04\C$\Program Files (x86)\Software\"
В «Программном обеспечении» 10–15 разных папок, и у каждой папки одно и то же exe-имя «Software.exe», но они разные для каждого клиента, а не для всех клиентов. работают в той же версии. У нас есть обновление для всех клиентов, работающих под управлением версии 1.0.0.0, и нам необходимо обновить их до версии 1.0.0.1
. Любой, кто работает под управлением версии 0.0.9.0, не должен обновляться.
Любые идеи как я go об этом?
Сейчас я могу получить список всех exe-файлов внутри папки, но я не могу каким-либо образом использовать хост записи для чтения файловой версии каждого
$GetFullPaths = get-childitem $RDP1Path-Recurse | where {$_.Name -eq "Software.exe"} | % {Write-Host $_.FullName}
Это дает мне следующий вывод:
\\RDP01\C$\Program Files (x86)\Software\Client1\Software.exe
\\RDP01\C$\Program Files (x86)\Software\Client2\Software.exe
\\RDP01\C$\Program Files (x86)\Software\Client3\Software.exe
\\RDP01\C$\Program Files (x86)\Software\Client4\Software.exe
\\RDP01\C$\Program Files (x86)\Software\Client5\Software.exe
Как мне действовать дальше.