Кто угодно мог бы мне помочь с этим, пожалуйста. У меня есть рабочий сценарий, работающий на windows 10 с psversion 5 и выше, попробовал его на windows 7 с psversion 2, он работает только тогда, когда я тестирую другой файл, расположенный на рабочем столе или в загрузках, но не на этих двух путях на script.
Я также пробовал тестировать каждую строку, чтобы убедиться, что они работают, и get-childitem -path "C: .... показывает желаемые результаты
Directory: C:\Users\user1\OpenVPN\config\test-UDP-vpn
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 08/05/2020 8:05 AM 657 test-tls.key
-a--- 08/05/2020 8:12 AM 337 test.ovpn
-a--- 08/05/2020 8:05 AM 3773 test.p12
Я запускаю сценарий от имени администратора (также вошел в систему как администратор), убедился, что файл не используется и уже выполнил обход set-executionpolicy, он запускается, но не возвращает никаких ошибок или чего-либо еще. Цените вашу помощь
$include = @("*ovpn*")
$files = Get-ChildItem -Path "C:\Program Files\OpenVPN\config","C:\Users\$env:USERNAME\OpenVPN\config\*UDP4*" -Recurse -include $include |
select-object -expandproperty fullname
foreach ($file in $files) {
$newtext = @()
$contents = get-content $file
foreach ($line in $contents) {
if ($line -eq "remote 1.1.1.1 1194 udp") {
$line = $line.Replace("1.1.1.1", "vpn1.domain.com")
$newtext += $line
$newtext += "remote vpn2.domain.com 1194 udp"
$newtext += "remote-random"
} elseif ($line -eq "resolv-retry infinite") {
$line = $line.Replace("resolv-retry infinite", "resolv-retry 60")
$newtext += $line
} else {
$newtext += $line
}
}
$newtext | set-content $file
}