. "$PSScriptRoot\_common.ps1" Section 'winrm-enable' { # winrm quickconfig 不接受 Public profile,先把現有連線改成 Private Get-NetConnectionProfile -ErrorAction SilentlyContinue | Where-Object { $_.NetworkCategory -ne 'Private' } | ForEach-Object { Log ("Set NetConnectionProfile idx {0} ({1}) Private" -f $_.InterfaceIndex, $_.Name) Set-NetConnectionProfile -InterfaceIndex $_.InterfaceIndex -NetworkCategory Private } Enable-PSRemoting -Force -SkipNetworkProfileCheck | Out-Null Set-Service -Name WinRM -StartupType Automatic Start-Service -Name WinRM -ErrorAction SilentlyContinue cmd.exe /c 'winrm quickconfig -quiet -force' | Out-Null cmd.exe /c 'winrm set winrm/config/service/auth @{Basic="true"}' | Out-Null cmd.exe /c 'winrm set winrm/config/service @{AllowUnencrypted="true"}' | Out-Null cmd.exe /c 'winrm set winrm/config/client @{TrustedHosts="*"}' | Out-Null Enable-NetFirewallRule -DisplayGroup 'Windows Remote Management' -ErrorAction SilentlyContinue }