初始化系统融合软件代码仓库
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
[CmdletBinding()]
|
||||
param([string]$InstallRoot = (Split-Path -Parent $PSScriptRoot), [string]$JavaHome, [switch]$Remove)
|
||||
. (Join-Path $PSScriptRoot 'Common.ps1')
|
||||
$root = [System.IO.Path]::GetFullPath($InstallRoot)
|
||||
$sha = [System.Security.Cryptography.SHA256]::Create()
|
||||
try { $hash = [BitConverter]::ToString($sha.ComputeHash([Text.Encoding]::UTF8.GetBytes($root.ToLowerInvariant()))).Replace('-', '').Substring(0, 12) }
|
||||
finally { $sha.Dispose() }
|
||||
$taskName = 'PXHJ-XTRH-' + $hash
|
||||
if ($Remove) {
|
||||
if (Get-ScheduledTask -TaskName $taskName -ErrorAction SilentlyContinue) { Unregister-ScheduledTask -TaskName $taskName -Confirm:$false }
|
||||
Write-Output ('已移除此部署实例的自动启动:' + $taskName)
|
||||
return
|
||||
}
|
||||
$java = Get-XtrhJava -JavaHome $JavaHome
|
||||
$resolvedJavaHome = Split-Path -Parent (Split-Path -Parent $java)
|
||||
$startScript = Join-Path $root 'scripts/Start-Xtrh.ps1'
|
||||
$arguments = '-NoProfile -NonInteractive -WindowStyle Hidden -ExecutionPolicy Bypass -File "' + $startScript + '" -InstallRoot "' + $root + '" -JavaHome "' + $resolvedJavaHome + '"'
|
||||
$action = New-ScheduledTaskAction -Execute 'powershell.exe' -Argument $arguments -WorkingDirectory $root
|
||||
$user = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name
|
||||
$trigger = New-ScheduledTaskTrigger -AtLogOn -User $user
|
||||
$principal = New-ScheduledTaskPrincipal -UserId $user -LogonType Interactive -RunLevel Limited
|
||||
$settings = New-ScheduledTaskSettingsSet -StartWhenAvailable -MultipleInstances IgnoreNew -ExecutionTimeLimit ([TimeSpan]::Zero)
|
||||
Register-ScheduledTask -TaskName $taskName -Action $action -Trigger $trigger -Principal $principal -Settings $settings -Force | Out-Null
|
||||
Write-Output ('已配置当前用户登录后后台自动启动:' + $taskName)
|
||||
Reference in New Issue
Block a user