update
This commit is contained in:
63
setup-wifi.ps1
Normal file
63
setup-wifi.ps1
Normal file
@@ -0,0 +1,63 @@
|
||||
# Chay MOT LAN bang PowerShell (Admin): urlacl + mo firewall cong 8080 + Wi-Fi -> Private
|
||||
# Chuot phai -> Run as administrator
|
||||
|
||||
$ErrorActionPreference = "Stop"
|
||||
$port = 8080
|
||||
$url = "http://+:${port}/"
|
||||
$fwRuleName = "Wedding Site LAN $port"
|
||||
|
||||
function Test-IsAdmin {
|
||||
$id = [Security.Principal.WindowsIdentity]::GetCurrent()
|
||||
$p = New-Object Security.Principal.WindowsPrincipal($id)
|
||||
return $p.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
|
||||
}
|
||||
|
||||
if (-not (Test-IsAdmin)) {
|
||||
Write-Host "Can quyen Administrator." -ForegroundColor Red
|
||||
Write-Host "Chuot phai file setup-wifi.ps1 -> Run with PowerShell (Admin)" -ForegroundColor Yellow
|
||||
exit 1
|
||||
}
|
||||
|
||||
# --- URL ACL ---
|
||||
netsh http delete urlacl url=$url 2>$null | Out-Null
|
||||
|
||||
$user = if ($env:USERDOMAIN -and $env:USERNAME) {
|
||||
"$($env:USERDOMAIN)\$($env:USERNAME)"
|
||||
} else {
|
||||
$env:USERNAME
|
||||
}
|
||||
|
||||
Write-Host "Dang them URL ACL cho user: $user" -ForegroundColor Cyan
|
||||
netsh http add urlacl url=$url user="$user" 2>&1 | Out-Null
|
||||
if ($LASTEXITCODE -ne 0) {
|
||||
netsh http delete urlacl url=$url 2>$null | Out-Null
|
||||
netsh http add urlacl url=$url user=Everyone 2>&1 | Out-Null
|
||||
}
|
||||
if ($LASTEXITCODE -ne 0) {
|
||||
Write-Host " URL ACL that bai. Xem huong dan trong README.md" -ForegroundColor Red
|
||||
exit 1
|
||||
}
|
||||
Write-Host " URL ACL: OK" -ForegroundColor Green
|
||||
|
||||
# --- Firewall: cho phep dien thoai vao cong 8080 ---
|
||||
Get-NetFirewallRule -DisplayName $fwRuleName -ErrorAction SilentlyContinue |
|
||||
Remove-NetFirewallRule -ErrorAction SilentlyContinue
|
||||
|
||||
New-NetFirewallRule -DisplayName $fwRuleName `
|
||||
-Direction Inbound -Action Allow -Protocol TCP -LocalPort $port `
|
||||
-Profile Domain, Private, Public | Out-Null
|
||||
Write-Host " Firewall: da mo cong TCP $port (Public + Private)" -ForegroundColor Green
|
||||
|
||||
# --- Dat Wi-Fi la Private ---
|
||||
$wifi = Get-NetConnectionProfile -ErrorAction SilentlyContinue |
|
||||
Where-Object { $_.InterfaceAlias -match 'Wi-?Fi' } | Select-Object -First 1
|
||||
if ($wifi -and $wifi.NetworkCategory -eq 'Public') {
|
||||
Set-NetConnectionProfile -InterfaceAlias $wifi.InterfaceAlias -NetworkCategory Private
|
||||
Write-Host " Wi-Fi: da doi sang mang Rieng tu (Private)" -ForegroundColor Green
|
||||
}
|
||||
|
||||
Write-Host ""
|
||||
Write-Host " Xong. Chay start.bat - tren dien thoai dung IP Wi-Fi in ra." -ForegroundColor Green
|
||||
Write-Host ""
|
||||
$portPattern = ':' + $port
|
||||
netsh http show urlacl | Select-String -Pattern $portPattern
|
||||
Reference in New Issue
Block a user