Install-1CServer.ps1
|
<#
.SYNOPSIS Вызов функции установки сервера .DESCRIPTION Установка сервера 1С .PARAMETER Path The path that will be searched for a registry key. .EXAMPLE Mgm1CMainMenu .INPUTS System.String .OUTPUTS Microsoft.Win32.RegistryKey .NOTES This module is an example of what a well documented function could look. .LINK #> function Install-1CServer { #вызов функции установки платформы. Install-1CPlatform # Создать пользователя 1С New-1CServiceUser $username = $env:computername + '\USR1CV8' $usrPass = Get-Content 'c:\passfile.txt' | ConvertTo-SecureString #Создать службу и каталог сервера $Version = 'Current' $ServiceName = "1C:Enterprise 8.3 Server Agent $Version" #Запрос номера порта $PortNumber = Read-Host 'Ввести первые две цифры порта сервера 1С' #Запрос ввода логина и пароля пользователя USR1CV8 $Mycreds = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $username, $usrPass Remove-Item 'c:\passfile.txt' -Recurse -Force $RangePort = $PortNumber + '60' + ':' + $PortNumber + '91' $BasePort = $PortNumber + '41' $CtrlPort = $PortNumber + '40' $SrvCatalog = "C:\Program Files\1cv8\srvinfo" $SrvRunCatalog = '"C:\Program Files\1cv8\srvinfo"' $RunPath = '"C:\Program Files\1cv8\current\bin\ragent.exe"' $DirectoryPath = "C:\Program Files\1cv8\current\bin\" $ServicePath = $RunPath + ' ' + '-srvc -agent -regport' + ' ' + $BasePort + ' ' + '-port' + ' ' + $CtrlPort + ' ' + '-range' + ' ' + $RangePort + ' ' + '-debug -d' + ' ' + $SrvRunCatalog $comcntrl = $DirectoryPath + 'comcntr.dll' $radmin = $DirectoryPath + 'radmin.dll' # Создать каталог сервера и дать права пользователю if (!(Test-Path -Path $SrvCatalog)) { New-Item $SrvCatalog -ItemType Directory } $ACL = Get-Acl $SrvCatalog $setting = "$username", "FullControl", "Allow" $AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule $setting $ACL.SetAccessRule($AccessRule) $ACL | Set-Acl $SrvCatalog $ACL.SetAccessRuleProtection($false, $true) #регистрация библиотек regsvr32.exe "$comcntrl" -s Write-Host 'Библиотека comcntrl зарегистрирована' -BackgroundColor Black -ForegroundColor Green regsvr32.exe $radmin -s Write-Host 'Библиотека radmin зарегистрирована' -BackgroundColor Black -ForegroundColor Green #создать службу New-Service -name $ServiceName -binaryPathName $ServicePath -displayName $ServiceName -startupType Automatic -credential $Mycreds Start-Service "1C:Enterprise 8.3 Server Agent Current" $serviceStatus = Get-Service "1C:Enterprise 8.3 Server Agent Current" |Where-Object Status |Select-Object Status Write-Host "Статус службы сервера 1С" $serviceStatus.Status } |