Import-module D:\PathToNPGSql\Npgsql.dll
$conn = [Npgsql.NpgsqlConnection]::new()
$conn.ConnectionString = 'Server=localhost;Username=postgres;Password=123;Database=postgres;CommandTimeout=300;Timeout=300'
$conn.Open()
$cmd = new-object Npgsql.NpgsqlCommand "(SELECT current_setting('server_version')) UNION ALL (SELECT datname FROM pg_database WHERE datistemplate = false);"
$cmd.Connection = $conn
$r = $cmd.ExecuteReader()
while ($r.Read()) { $r[0] }
$r.Close()
$conn.Close()Собственно самый работающий вариант - это делать Remove-SmbShare и после окончания New-SmbShare.
но всё ж, на мой взгляд, не тот случай, стоит ли ради этого ansiblе громоздить? хост будет всего один.
тем более что параметры типа юзеров для него всё равно кто-то должен задавать.
а там текстовые файлики, косячь-не хочу.
По моему опыту я создавал/видел три варианта подобной автоматизации.
1. выгрузка из 1С, парсинг, создание юзеров по определённым правилам - вообще полная автоматизация (c#, слышал про аналоги на ps)
2. GUI приложение на C# - вводим ФИО, галочками выбираем отдел или создаём нового пользователя на основе уже существующего.
3. Скрипты на Powershell - на вход опять же ФИО и отдел.
Во всех случаях логины делаются автоматом, группы раздаются автоматом, поля типа отдел и т.д.
и то накосячить умудрялись :)
то в 1С случайно пользователя "уволят"
то ФИО копипастой с невидимыми переносами строки в поле вставят