Мне нужно добавить любой файл deployment.properties, чтобы добавить дополнительные строки, чтобы включить все версии TLS. Большое предприятие использует несколько разных версий Java, а также несколько разных отделов используют разные исключения. Я попытался добавить файл с помощью PowerShell, но он вставляет пробелы между каждой буквой.
это единственный сценарий PS, который я нашел, который можно вставить в файл.
echo "`r`n deployment.security.SSLv3=true" >> "c:\users\%userprofile%\AppData\LocalLow\Sun\Java\Deployment\deployment.properties"
Вот код, который мне нужно вставить
# Advanced Security Settings\Use TLS 1.0
deployment.security.TLSv1=true
deployment.security.TLSv1.locked
# Advanced Security Settings\Use TLS 1.1
deployment.security.TLSv1.1=false
deployment.security.TLSv1.1.locked
# Advanced Security Settings\Use TLS 1.2
deployment.security.TLSv1.2=false
deployment.security.TLSv1.2.locked
# Miscellaneous\Place Java icon in system tray
# Miscellaneous\Java Quick Starter
deployment.system.tray.icon=false
deployment.system.tray.icon.locked
Мне просто нужно знать, как я могу это сделать с помощью сценария или PowerShell для всего предприятия. без замены исходного файла deployment.properties и с правильным форматированием. Спасибо, парни!
В $env:userprofile\AppData\LocalLow\Sun\Java\Deployment\deployment.properties" файл имеет (предположительно) ANSI (или UTF-8) кодирование.
С другой стороны, about_Redirection раздел помощи говорит:
… Когда вы пишете в файлы, операторы перенаправления используют Unicode кодирование. Если файл имеет другую кодировку, выходные данные могут быть отформатированы неправильно ...
Чтобы перенаправить содержимое в файлы, отличные от Unicode, используйте Out-File или Add-Content командлет с его Encoding параметр. Например, что-то вроде
$CodeToInsert = @'
# Advanced Security Settings\Use TLS 1.0
deployment.security.TLSv1=true
deployment.security.TLSv1.locked
# Advanced Security Settings\Use TLS 1.1
deployment.security.TLSv1.1=false
deployment.security.TLSv1.1.locked
# Advanced Security Settings\Use TLS 1.2
deployment.security.TLSv1.2=false
deployment.security.TLSv1.2.locked
# Miscellaneous\Place Java icon in system tray
# Miscellaneous\Java Quick Starter
deployment.system.tray.icon=false
deployment.system.tray.icon.locked
'@
$FilePath = "$env:USERPROFILE\AppData\LocalLow\Sun\Java\Deployment\deployment.properties"
Add-Content -Path $FilePath -Value $CodeToInsert -Encoding default
Смотрите также
Примечание: вы можете запросить file.encoding собственность или Charset.defaultCharset() чтобы найти текущую кодировку по умолчанию в Java.
Для всего предприятия, вы можете настроить приведенный выше сценарий для Run Once при входе пользователя в систему.