แแแขแแ แก แซแแแแแ แฃแงแแแ แก แแแแแจแ แแ แแก แแแแแ แแ แแก แแแขแแ แ แกแแ แแแ แแก แแแแแแแกแขแ แแขแแ แ "แแฎแแแแ แแแแแแ แแแแกแแแแก". แ แแแแ แช แฉแแแฃแแแแ แแ แแแงแแแ แฃแแแแก แจแแ แแกแแ, แกแแ แแแ แแ แงแแแแแคแแ แ แแแแแคแแชแแ แแแฃแแแ แแ แแก แแฌแแแแก แแ แแกแขแแแแแฃแ แแแแก แแ, แจแแแแแแ, แแแแ แแแก. แแแแแแแแ Powershell-แแก แแแขแแ แแ แฃแแแ แแชแแก, แแแแ แ แแแฆแแแแแแแก แแแแแแ แแแแ แแแก แฅแฃแฉแแแ, แแแ แแแแแฌแงแแแขแ แแแแแแแแแแแ "แกแแฃแแแแแกแ แกแแ แแแขแ Minecraft 2020-แแก แแแกแแฌแงแแแแ" แแแแแ แกแแ แแแขแ แแแกแแฎแฃแ แแแแแ แจแแแแแแแก แกแแคแฃแซแแแแก
แฉแแแ แแแญแแ แแแแ แแ แซแแแแแแแ
แแแขแแ แแแขแแฃแแ แฎแ
แแ แ แแฆแแก, แแแแแ แ แแแแแแแแ แแแแแคแแแแชแแแก แแแงแแแแแแก แจแแแแแ, แแฆแแแแแฉแแแ, แ แแ แกแแ แแแ แ, แ แแแแ แช แฉแแแก, แแจแแแแแแ แแแแก แแแแแชแฎแแแแแแก แแแ แแจแ. แกแแ แแแ แก แแ แแแฃแฌแแ แแ แจแแชแแแแแแ last.log-แจแ แแ แแแแแ แแแแจแ แแ แแแแกแแแ, แ แแแแแกแแช แแแแ แแฃแแแ แแก แจแแชแแแแ แฃแแแ แแแแฌแแ แ แแ แแแฉแแ แแแฃแแแงแ, แแแแฎแฃแ แ.
แแฃ แแแก แแ แกแฃแ แก แฌแแ แ, แแ แกแญแแ แแแแ. แฉแแแ แแแแฅแแก Powershell cmdlet-แแ แแ-แแแแแฅแขแ, แ แแแแแแช แแฆแแแก แแแแแฅแขแก แแ แแแแแแแแก แแแก แคแแแแจแ แแ แแแแกแแแจแ แแ แแแ แแฃแแแ.
.handler.ps1 | Tee-Object .StandardOutput.txt -Append
แแ แแแแ, Powershell แแแฆแแแก StandardOutput-แก แแ แฉแแฌแแ แก แแแก แคแแแแจแ. แแ แจแแแชแแแแ แแแแแแงแแแแ แแแฌแงแแแ-แแ แแชแแกแแ แแแแแ แแก แแแแแ แฃแแแแก System.ComponentModel.Component-แก แแ แแ แ StandardOutput-แก แแ -RedirectStandardOutput แจแแฃแซแแแแแแก แแแฎแแแก แแแแกแแแจแ แจแแกแแแแก, แ แแกแ แแแแแแแ แแชแแแแแแช แแแแแแ.
แแแฃแจแแแ แแ แแฃแแแแขแแแ
แแแแแ แฌแงแแแแ แ แแแแแแก แแแงแแแแแแก แจแแแแแ, แแแขแแ แแ แจแแแแจแแ, แ แแ แกแแ แแแ แก แแกแแแ แแ แฐแฅแแแแ แกแแแแแ แแกแ แแแแ แแขแแฃแแ แแแฎแกแแแ แแแ. แแ แแก แแแแแฎแแแก แแแจแแแแแก แแ แแฃแแแแขแแแแก แจแแชแแแแก. แแแแก แแแชแแแแ, แ แแ แจแแชแแแแแ แแกแแแ แงแแแแ แฏแแ แแ start.bat-แจแ, แ แแแแแกแแช แงแแแแ แแงแแแแแก, แฃแแ แแแแ แแแแแแงแแแแ แแก แกแแ แแแขแ.
แแแแแแแแ Tee-Object แแแแฎแฃแแแแก StandardOutput-แก แแฎแแแแ แแแจแแ, แ แแแแกแแช แจแแกแ แฃแแแแแแก แแฌแแแแแ "Just Like This", แแฅแแแ แแแแแฌแแแ แกแฎแแ แกแแ แแแขแแก แจแแฅแแแ. แแ แกแแ แแแขแก แแแแแ Minecraft แแแแแฃแจแแแแก. แแแแแฌแงแแ แแ แแฃแแแแขแแแแ.
แแแแกแแแแก, แ แแ แกแแแแแแแแแ แกแแแแ แแแชแ แฉแแแ แแแก, แกแแ แแแขแแ แฃแแแ แจแแแแ แแแแก แแแฌแงแแแแก แแ แแฃแแแแขแแแ. แแแแกแแแแแก แแแแแฌแงแแ แฃแแฎแแแกแ แแแ แกแแแก แแแซแแแแแ แแแงแแแแแแแก.
$forge = ((Get-ChildItem | Where-Object Name -Like "forge*").Name | Sort-Object -Descending) | Select-Object -last 1
แแแแแแแแแก แแแแแฅแขแแก แแแแแงแแแแแแ, แฉแแแ แงแแแแแแแแก แแแแฆแแแ แแแแแฅแขแก แงแแแแแแ แแแแ แ แแแแแแแแแ, แ แแแแแแแช แแ แฃแแแ แแแแแ แแฅ. แกแแแแแแ แกแแแแ แแแชแ.
แแฎแแ แแฅแแแ แฃแแแ แแแแแแญแแ แแแฎแกแแแ แแแ แกแแ แแแ แก. แแแแกแแแแแก แแแฆแแ แกแแกแขแแแแก แแแฎแกแแแ แแแแก แ แแแแแแแแ แแ แฉแแฌแแ แแ แแแกแ แ แแแแแแแแ แกแขแ แแฅแแแจแ.
$ram = ((Get-CimInstance Win32_PhysicalMemory | Measure-Object -Property capacity -Sum).sum /1gb)
$xmx = "-Xms" + $ram + "G"
แกแฌแแ แ แแแขแแแแขแฃแ แ แแแแแขแแแ แแแ
แแแขแแ แก แฃแแแฎแแแก .bat แคแแแแแแ แกแฎแแ แแแแแแแแแแแกแแแ, แแแแ แแ แแแ แแ แแแแแแแแแกแฌแแแแก แกแแ แแแ แแก แจแแฉแแ แแแแก แแแแแแ. แแก แแ แแกแแกแแแแแแแแ, แ แ แแแฎแแแแ, แแฃ แฃแแ แแแแ แแญแแ แแแแแ แแแแแคแแแแชแแแก แคแแแแแก แจแแชแแแ แแ แ แแแแแก แฌแแจแแ?
แแฎแแ แแแแแ แแแแแแแแแ แกแแแแแแแ แแแแแขแแแ แแแ. แแแขแแ แก แแแ แ แฌแแแฌแงแแ แฃแชแแแฃแ แกแแ แแแขแแแก, แ แแแแแแแช แแแแแขแแแ แแแแแ แกแแ แแแ แก, แแแฃแฎแแแแแแ แแแแกแ, แแฃ แ แแขแแ แแแแฎแฃแ แ แกแแ แแแ แ. แฉแแแ แแแแแแแงแแแแแ แแแกแแกแแแแ แแแแก. แฏแแแ แฌแแ แแแขแแแแ แแงแแแแแก 0-แก, แแแแขแแ แฉแแแ แแแชแแแแแแ แแฅแแแแ.
แแแ แแแแ, แแแแแ แจแแแฅแแแแ แคแฃแแฅแชแแ, แ แแแแแแช แแแแแขแแแ แแแแก แกแแ แแแ แก, แแฃ แแก แแแ แแแฎแแ แฎแแแแ.
function Get-MinecraftExitCode {
do {
if ($global:Process.ExitCode -ne 0) {
Write-Log
Restart-Minecraft
}
else {
Write-Log
}
} until ($global:Process.ExitCode -eq 0)
}
แกแแ แแแขแ แแแ แงแฃแแจแ แแแ แฉแแแ แแแแแ, แกแแแแ แกแแ แแแ แ แแแ แแแแฃแ แแ แแ แแแแแแ แแแแแ แกแแแฃแแแ แ แแแแกแแแแแแ /stop แแ แซแแแแแแก แแแแแงแแแแแแ.
แแฃ แแแแแแฌแงแแแขแ แงแแแแแคแ แแก แแแขแแแแขแแแแชแแแก, แแแจแแ แแแ แแ แแฅแแแแ, แ แแ แจแแแแแ แแแแ แแแฌแงแแแแก แแแ แแฆแ, แแแกแ แฃแแแแแก แแแ แแฆแ แแ แแกแแแ แแแกแ แฃแแแแแก แแแแแแ.
แแแแกแแแแแก แฉแแแ แแฌแแ แ Start-Process-แแก แจแแแแแก แชแแแแแจแ. แกแแ แแแขแจแ แแกแ แแแแแแงแฃแ แแแ:
$global:Process = Start-Process -FilePath "C:Program Files (x86)common filesOracleJavajavapath_target_*java.exe" -ArgumentList "$xmx -server -jar $forge nogui" -Wait -NoNewWindow -PassThru
แจแแแแแ แฉแแแ แแฌแแ แ แจแแแแแแแก แคแแแแจแ. แแก แแ แแก แแก, แ แแช แแแแแแแ แฃแแแ แชแแแแแจแ:
$global:Process.StartTime
$global:Process.ExitCode
$global:Process.ExitTime
แแก แงแแแแแคแแ แ แจแแแซแแแแ แแแแแแขแแก แคแแแแก Add-Content-แแก แแแแแงแแแแแแ. แแแก แจแแแแแ, แ แแช แชแแขแแแ แแแแแแแ แชแฎแแแ, แแแแแฆแแแ แแ แกแแ แแแขแก แแ แแแแแ แแแแแ แฅแแแ handler.ps1.
Add-Content -Value "Start time:" -Path $Logfile
$global:Process.StartTime
Add-Content -Value "Exit code:" -Path $Logfile
$global:Process.ExitCode | Add-Content $Logfile
Add-Content -Value "Exit time:" -Path $Logfile
$global:Process.ExitTime | Add-Content $Logfile
แแฎแแ แแแแแ แจแแแฅแแแแ แกแแ แแแขแ, แ แแแแแแช แแแฃแจแแแแก แแแแแฃแจแแแแแแแก.
แกแฌแแ แ แแแจแแแแ
แแแขแแ แก แกแฃแ แก Minecraft-แแก แกแฎแแแแแกแฎแแ แแแ แกแแแแแก แแแจแแแแ แแแแแกแแแแ แ แแแแแแแแแ แแ แ แแแแฃแแจแ แแ แแกแแแ แจแแฃแซแแแ แจแแแแแฎแแก แแฃแ แแแแแแ แแแแแ แแขแฃแ แกแแฅแแฆแแแแแจแ.
แแ แแแแแแ แแก แแ แแก, แ แแ แแ แแชแแกแ แฃแแแ แแแแฌแงแแก แกแแกแขแแแแจแ แจแแกแฃแแ แแแแฎแแแ แแแแแก แแแแ . แแก แจแแแซแแแแ แแแแแแแแก แแแกแแขแแแแก แแ WinRm-แแก แกแแจแฃแแแแแแ. แแฃ แกแแ แแแ แก แแแ แแแแ แ แแแแ แช แกแแกแขแแแแก แแแแฎแแแ แแแแแ แแ แแฃแแแแช แแแแแแแกแขแ แแขแแ แ, แแแแ แแ แแ แจแแฎแแแแ แกแแกแขแแแแจแ, แแแจแแ Server.jar แแแ แช แแ แจแแซแแแแก eula.txt-แแก แฌแแแแแฎแแแก แแ แแแฌแงแแแแก.
แฉแแแ แจแแแแแซแแแ แฉแแ แแแ แแแขแแแแขแฃแ แ แจแแกแแแ แ แแแกแขแ แจแ แกแแแ แฉแแแแฌแแ แแก แแแแแขแแแแ.
New-ItemProperty -Path "HKLM:SOFTWAREMicrosoftWindows NTCurrentVersionWinlogon" -Name DefaultUserName -Value $Username -ErrorAction SilentlyContinue
New-ItemProperty -Path "HKLM:SOFTWAREMicrosoftWindows NTCurrentVersionWinlogon" -Name DefaultPassword -Value $Password -ErrorAction SilentlyContinue
New-ItemProperty -Path "HKLM:SOFTWAREMicrosoftWindows NTCurrentVersionWinlogon" -Name AutoAdminLogon -Value 1 -ErrorAction SilentlyContinue
แแก แแ แแ แแก แฃแกแแคแ แแฎแ. แจแแกแแแ แแ แแแ แแแ แแฅ แแแแแแแแฃแแแ แฃแแ แแแ แขแแฅแกแขแจแ, แแแแขแแ แกแแ แแแ แแก แแแกแแฌแงแแแแ แแฅแแแ แฃแแแ แจแแฅแแแแ แชแแแแ แแแแฎแแแ แแแแแ, แ แแแแแกแแช แแฅแแก แฌแแแแแ แแแแฎแแแ แแแแแก แแแแแแ, แแ แแแแแ แฃแคแ แ แแแฌแ แ แฏแแฃแคแจแ. แแแแกแแแแก แแแแชแ แแ แแ แแ แแก แ แแแแแแแแแแฃแแ แกแขแแแแแ แขแฃแแ แแแแแแแกแขแ แแขแแ แแก แแแแแงแแแแแ.
แฉแแแ แแแแแฎแแ แแกแฎแแ แแแขแแแแขแฃแ แ แจแแกแแแ. แแฎแแ แแฅแแแ แฃแแแ แแแแ แแแแกแขแ แแ แแ แแฎแแแ แแแแแแแแ แกแแ แแแ แแกแแแแก. แฉแแแ แแแแฃแจแแแ แแ แซแแแแแ Powershell-แแแแ, แแกแ แ แแ แแกแ แแแแแแงแฃแ แแแ:
$Trigger = New-ScheduledTaskTrigger -AtLogOn
$User = "ServerAdmin"
$PS = New-ScheduledTaskAction -Execute 'PowerShell.exe" -Argument "Start-Minecraft -Type Forge -LogFile "C:minecraftstdout.txt" -MinecraftPath "C:minecraft"'
Register-ScheduledTask -TaskName "StartSSMS" -Trigger $Trigger -User $User -Action $PS -RunLevel Highest
แแแแฃแแแก แแฌแงแแแ
แแฎแแ แแแแแ แฉแแแแแ แงแแแแแคแแ แ แแแแฃแแแแจแ, แ แแแแแแแช แจแแแซแแแแ แแแแแแแแแแแ แแแแแแงแแแแ. แแแ แกแแ แแแขแแแแก แงแแแแ แแแแ แแฅ แแ แแก, แแแแแ แขแ แแ แแแแแงแแแแแ.
แแฅแแแ แจแแแแซแแแแ แแแแแแงแแแแ แงแแแแแคแแ แ แแแแแ แแฆแฌแแ แแแ แชแแแแ, แแฃ แแ แแกแฃแ แ แแแแฃแแแแแก แจแแฌแฃแฎแแแ.
Start-Minecraft
แแแ แแแแ, แแแแแ แจแแแฅแแแแ แแแแฃแแ, แ แแแแแแช แแ แแคแแ แก แแแแแแแแแก แแแ แแ แกแแ แแแขแแก แแแจแแแแแกแ, แ แแแแแแช แแแฃแกแแแแก แแ แฉแแแฌแแ แก แกแขแแแแแ แขแฃแ แแแแแแแแแแก.
แแแ แแแแขแ แแแแก แแแแแจแ แแก แแแแฎแฃแแแแก, แ แแแแ แกแแฅแแฆแแแแแแแ แฃแแแ แแแฃแจแแแก Minecraft แแ แกแแ แแแแแแแแกแแก แแฃแ แแแแ.
Set-Location (Split-Path $MyInvocation.MyCommand.Path)
function Start-Minecraft {
[CmdletBinding()]
param (
[Parameter()]
[ValidateNotNullOrEmpty()]
[string]
$LogFile,
[Parameter(Mandatory)]
[ValidateSet('Vanilla', 'Forge')]
[ValidateNotNullOrEmpty()]
[string]
$Type,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string[]]
$MinecraftPath
)
powershell.exe -file .handler.ps1 -type $type -MinecraftPath $MinecraftPath | Tee-Object $LogFile -Append
}
Export-ModuleMember -Function Start-Minecraft
แแ แแฅแแแ แฃแแแ แแแฃแจแแแ Minecraft แแกแ:
Start-Minecraft -Type Forge -LogFile "C:minecraftstdout.txt" -MinecraftPath "C:minecraft"
แแฎแแ แแแแแ แแแแแแแแแ แแแ Handler.ps1-แแ
แแแแกแแแแแก, แ แแ แฉแแแแแ แกแแ แแแขแแ แแแแฆแแก แแแ แแแแขแ แแแ แแแแแซแแฎแแแแกแแก, แฉแแแ แแกแแแ แฃแแแ แแแแฃแแแแแ แแแ แแแแขแ แแก แแแแแ. แแแฎแแแ แแแแแแแแแกแฌแแแแ, แ แแ แแก แแฃแจแแแแก Oracle Java-แก, แแฃ แแฅแแแ แแงแแแแแ แแแแกแฎแแแแแแฃแ แแแกแขแ แแแฃแชแแแก, แแฅแแแ แฃแแแ แจแแชแแแแแ แแแ แจแแกแ แฃแแแแแแ แคแแแแแกแแแ.
param (
[Parameter()]
[ValidateNotNullOrEmpty()]
[string]$type,
[Parameter()]
[ValidateNotNullOrEmpty()]
[string]$MinecraftPath,
[Parameter()]
[ValidateNotNullOrEmpty()]
[string]$StandardOutput
)
Set-Location $MinecraftPath
function Restart-Minecraft {
Write-host "=============== Starting godlike game server ============"
$forge = ((Get-ChildItem | Where-Object Name -Like "forge*").Name | Sort-Object -Descending) | Select-Object -first 1
$ram = ((Get-CimInstance Win32_PhysicalMemory | Measure-Object -Property capacity -Sum).sum /1gb)
$xmx = "-Xms" + $ram + "G"
$global:Process = Start-Process -FilePath "C:Program Files (x86)common filesOracleJavajavapath_target_*java.exe" -ArgumentList "$xmx -server -jar $forge nogui" -Wait -NoNewWindow -PassThru
}
function Write-Log {
Write-host "Start time:" $global:Process.StartTime
Write-host "Exit code:" $global:Process.ExitCode
Write-host "Exit time:" $global:Process.ExitTime
Write-host "=============== Stopped godlike game server ============="
}
function Get-MinecraftExitCode {
do {
if ($global:Process.ExitCode -ne 0) {
Restart-Minecraft
Write-Log
}
else {
Write-Log
}
} until ($global:Process.ExitCode -eq 0)
}
Get-MinecraftExitCode
แ แแแแกแขแ แแชแแ-Minecraft
แกแแ แแแขแ แแ แแฅแขแแแฃแแแ แแแแแแ, แ แแช Start-Minecraft, แแแ แแ แแแแกแ, แ แแ แแก แแฎแแแแ แแฎแแ แแแแชแแแแก แแฆแ แแชแฎแแแก. แแฆแแแก แแแแแ แแ แแฃแแแแขแแแก. แแแแฎแแแ แแแแแก แกแแฎแแแ, แแฃ แแ แแ แแก แแแแแแแแฃแแ, แแฆแแแก แแแแแแแแ แ แกแแฎแแแก.
function Register-Minecraft {
[CmdletBinding()]
param (
[Parameter()]
[ValidateNotNullOrEmpty()]
[string]
$LogFile,
[Parameter(Mandatory)]
[ValidateSet('Vanilla', 'Forge')]
[ValidateNotNullOrEmpty()]
[string]$Type,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string]$MinecraftPath,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string]$User,
[Parameter(Mandatory)]
[string]$TaskName = $env:USERNAME
)
$Trigger = New-ScheduledTaskTrigger -AtLogOn
$arguments = "Start-Minecraft -Type $Type -LogFile $LogFile -MinecraftPath $MinecraftPath"
$PS = New-ScheduledTaskAction -Execute "PowerShell" -Argument "-noexit -command $arguments"
Register-ScheduledTask -TaskName $TaskName -Trigger $Trigger -User $User -Action $PS -RunLevel Highest
}
Export-ModuleMember -Function Register-Minecraft
แ แแแแกแขแ แแชแแ-แแแขแแแแแ
แแแ แแแแขแ แแแแก แแแแแจแ แกแแ แแแขแ แแฆแแแก แแแแฎแแแ แแแแแก แกแแฎแแแก แแ แแแ แแแก แแแ แแแแขแ แแแก. แแฃ แแแแฎแแแ แแแแแก แกแแฎแแแ แแ แแงแ แแแแแแแแฃแแ, แแแแแแงแแแแแ แแแแแแแแ แ แแแแฎแแแ แแแแแก แกแแฎแแแ.
function Set-Autologon {
param (
[Parameter(
HelpMessage="Username for autologon")]
$Username = $env:USERNAME,
[Parameter(Mandatory=$true,
HelpMessage="User password")]
[ValidateNotNullOrEmpty()]
$Password
)
$i = Get-ItemProperty -Path "HKLM:SOFTWAREMicrosoftWindows NTCurrentVersionWinlogon"
if ($null -eq $i) {
New-ItemProperty -Path "HKLM:SOFTWAREMicrosoftWindows NTCurrentVersionWinlogon" -Name DefaultUserName -Value $Username
New-ItemProperty -Path "HKLM:SOFTWAREMicrosoftWindows NTCurrentVersionWinlogon" -Name DefaultPassword -Value $Password
New-ItemProperty -Path "HKLM:SOFTWAREMicrosoftWindows NTCurrentVersionWinlogon" -Name AutoAdminLogon -Value 1
Write-Verbose "Set-Autologon will enable user auto logon."
}
else {
Set-ItemProperty -Path "HKLM:SOFTWAREMicrosoftWindows NTCurrentVersionWinlogon" -Name DefaultUserName -Value $Username
Set-ItemProperty -Path "HKLM:SOFTWAREMicrosoftWindows NTCurrentVersionWinlogon" -Name DefaultPassword -Value $Password
Set-ItemProperty -Path "HKLM:SOFTWAREMicrosoftWindows NTCurrentVersionWinlogon" -Name AutoAdminLogon -Value 1
}
Write-Verbose "Autologon was set successfully."
}
แแ แกแแ แแแขแแก แแแจแแแแ แแกแ แแแแแแงแฃแ แแแ:
Set-Autologon -Password "PlaintextPassword"
แ แแแแ แแแแแแแงแแแแ
แแฎแแ แแแแฎแแ, แ แแแแ แแงแแแแแก แแ แงแแแแแคแแ แก แแแแแ แแแขแแ แ. แ แแแแ แกแฌแแ แแ แแแแแแแแแกแแ แกแแฏแแ แ Minecraft แกแแ แแแ แ Windows-แแ. แแแแแฌแงแแ แแแแแแแแแ.
1. แจแแฅแแแแแ แแแแฎแแแ แแแแแ
$pass = Get-Credential
New-LocalUser -Name "MinecraftServer" -Password $pass.Password -AccountNeverExpires -PasswordNeverExpires -UserMayNotChangePassword
2. แแแแ แแแแกแขแ แแ แแ แแแแแแแแ แกแแ แแแขแแก แแแกแแจแแแแแ
แจแแแแซแแแแ แแแ แแแแกแขแ แแ แแแ แจแแแแแแ แแแแฃแแแก แแแแแงแแแแแแ:
Register-Minecraft -Type Forge -LogFile "C:minecraftstdout.txt" -MinecraftPath "C:minecraft" -User "MInecraftServer" -TaskName "MinecraftStarter"
แแ แแแแแแงแแแแ แกแขแแแแแ แขแฃแแ แฎแแแกแแฌแงแแแแ:
$Trigger = New-ScheduledTaskTrigger -AtLogOn
$User = "ServerAdmin"
$PS = New-ScheduledTaskAction -Execute 'PowerShell.exe" -Argument "Start-Minecraft -Type Forge -LogFile "C:minecraftstdout.txt" -MinecraftPath "C:minecraft"'
Register-ScheduledTask -TaskName "StartSSMS" -Trigger $Trigger -User $User -Action $PS -RunLevel Highest
3. แฉแแ แแแ แแแขแแแแขแฃแ แ แจแแกแแแ แแ แแแแแขแแแ แแแ แแแแฅแแแ
Set-Autologon -Username "MinecraftServer" -Password "Qw3"
แแแกแ แฃแแแแ
แแแขแแ แแ แจแแฅแแแ แกแชแแแแ แ, แแแ แจแแ แแก แกแแแฃแแแ แ แแแแแกแแแแก, แแแแขแแ, แกแแแแแแแแแแ แแแแกแแแแก แแฅแแแแก แฌแแแแแแแแแแแก แกแชแแแแ แแก แแแกแแฃแแฏแแแแกแแแแแ. แแแขแแ แ แแแแแแแแแแก, แ แแ แแก แแแแ แแแแแแแแฃแ แแ แแแแแช แแแแแแแแแแแแ แแ แกแขแแขแแ แกแแแแขแแ แแกแ แแงแ.
แฌแงแแ แ: www.habr.com