#$VerbosePreference = "Continue"
$IBListCSV = "\\
corp.dom.ru\1c\cfg\v8i_utf8.csv"
$v8iPath = "\\
corp.dom.ru\1c\v8i"
$1CECmn = "\\
corp.dom.ru\1c\cfg\1CESCmn.cfg"
$CsvEncoding = "utf8"
Write-Verbose -message "$IBListCSV"
Write-Verbose -message "$v8iPath"
$OUPath = "ou=v8i,ou=1c,ou=Группы доступа,dc=corp,dc=org,dc=ru"
$Template = '[%IBFN%]
Connect=Srvr="%SRV%";Ref="%IB%";
Folder=/
External=0
ClientConnectionSpeed=Normal
App=Auto
WA=1
Version=8.3
AppArch=x86
'
Write-Verbose -message "ActiveDirectory module check "
if (Get-Module -ListAvailable -Name ActiveDirectory) {
Write-Verbose -message "ActiveDirectory module installed"
}
else {
Write-Host "ActiveDirectory module not installed try"
Write-Host "Install-WindowsFeature -Name ""RSAT-AD-PowerShell"" -IncludeAllSubFeature"
exit
}
$IBList = Import-Csv -Path "$IBListCSV" -Encoding $CsvEncoding -Delimiter ";"
$v8iAll = "$($v8iPath)\_All.v8i"
Out-File -Encoding utf8 -FilePath "$v8iAll"
Out-File -Encoding utf8 -FilePath "$1CECmn"
ForEach ($IB in $IBList) {
Write-Verbose -message $IB.IBFN
$NewTemplate = $Template -replace "%IBFN%", $IB.IBFN
Write-Verbose -message $IB.SRV
$NewTemplate = $NewTemplate -replace "%SRV%", $IB.SRV
Write-Verbose -message $IB.IB
$NewTemplate = $NewTemplate -replace "%IB%", $IB.IB
Write-Verbose -message "$v8i"
$v8i = "$($v8iPath)\$($IB.IB).v8i"
$NewTemplate | Out-File -Encoding utf8 -FilePath $v8i
$NewTemplate | Out-File -Append -Encoding utf8 -FilePath $v8iAll
"CommonInfoBases=$v8i" | Out-File -Append -Encoding utf8 -FilePath $1CECmn
$GroupName = "DL_v8i_$($IB.IB)_RO"
Write-Verbose -message "$chekGroup"
if ( $(Get-ADGroup -LDAPFilter "(sAMAccountName=$GroupName)") -eq $null ) {
Write-Verbose -message "Create $GroupName"
New-ADGroup -Name $GroupName -Path $OUPath -GroupScope Global -GroupCategory Security
}
Write-Verbose -message "Update $GroupName"
Set-ADGroup -Identity $GroupName -Replace @{
info="Path=$v8i; aclType=Read"
Description = "$($IB.IBFN)"
}
Write-Verbose -message "$GroupName addMember DL_v8i_all"
Add-ADGroupMember -Identity $GroupName -Members DL_v8i_all
Write-Verbose -message "DL_1c_list addMember $GroupName"
Add-ADGroupMember -Identity DL_1c_list -Members $GroupName
Write-Verbose -message "Get-ACL $v8i"
$acl = Get-Acl -Path $v8i
Write-Verbose -message "Setup Permissions"
$permission = "MLG\$GroupName", 'Read', 'Allow'
Write-Verbose -message "Setup Rule"
$rule = New-Object System.Security.AccessControl.FileSystemAccessRule($permission)
Write-Verbose -message "Setup Acl"
$acl.SetAccessRule($rule)
Write-Verbose -message "Save Acl to $v8i"
$acl | Set-Acl -Path $v8i
}