Windows VPN 프로필은 전화번호부의 항목이며, PowerShell은 그 항목을 편집하는 한 가지 방법입니다. 이 차이에서 두 가지 실패가 나옵니다. 서버에 이미 손상된 채 도착하는 미리 공유한 키와, 업데이트된 것처럼 보이지만 다음 터널이 실제로 거는 주소가 아닌 서버 주소입니다. 둘 다 프로필을 실행한 명령이 아니라 저장된 상태로 볼 때 더 쉽게 보입니다. 설명은 편집이 일어나는 순서를 따릅니다. 만들기, 변경, 범위, 다시 읽기입니다.

리터럴 키로 프로필 만들기

Add-VpnConnection는 L2TP 미리 공유한 키를 -L2tpPsk을 통해 받습니다. PowerShell은 cmdlet이 문자열을 받기 전에 처리하며, 큰따옴표 안에서 달러 기호는 변수 참조를 시작하고 backtick은 이스케이프를 시작합니다. 둘 중 하나가 들어 있으면 키가 더 짧게, 또는 다른 문자로 도착하고, 프로필은 잘못된 비밀로 성공적으로 만들어집니다.

그다음 실패는 IPsec 인증에서 나타나며, 터널이 올라오지 않습니다. 따옴표 실수가 서버 측 문제로 자주 보고되는 이유입니다. 프로필은 있고 이름도 맞으며 비밀만 조용히 틀렸습니다.

How you write itWhat PowerShell doesResult
"p@ss$word!42"Expands $word as a variableStored key is truncated
Double-quoted with an escape characterConsumes the next character as an escapeOne character disappears
'p@ss$word!42'Keeps the literal charactersStored key matches the secret

작은따옴표가 해결책이며 값 전체를 감싸야 합니다. 항목이 이미 잘못된 키로 있다면 -Force이 바꾸고, 아니면 프로필을 지우고 다시 만든 뒤 새 연결로 시험합니다.

Add-VpnConnection -Name "Contoso-L2TP" -ServerAddress vpn.contoso.example -TunnelType L2tp -L2tpPsk 'n3w$ecret!2026' -AuthenticationMethod Pap -RememberCredential -Force

진짜 비밀은 셸 기록과 공유 스크립트 밖에 두십시오. 실행 시 승인된 저장소에서 읽고 리터럴 대신 변수를 넘기면 따옴표 문제를 완전히 피할 수 있습니다.

주소를 바꾼 뒤 다시 연결하기

Set-VpnConnection는 대입 구문이 아니라 공백으로 구분된 매개 변수를 받습니다. -ServerAddress = "203.0.113.10"라고 쓰면 토큰이 하나 더 전달되어 cmdlet이 오류를 내거나 의도하지 않은 값을 저장합니다. 올바른 형식은 -Name "Office L2TP" -ServerAddress 203.0.113.10입니다.

구문이 맞아도 이미 올라온 터널에는 변경이 닿지 않습니다. 설정된 연결은 끊을 때까지 걸었던 주소를 유지하므로 같은 세션을 시험해도 새 값에 대해 아무것도 증명하지 못합니다. 끊고, 편집하고, 다시 연결한 뒤 연결 세부 정보에서 상대 주소를 확인하십시오.

일부 속성은 그 자리에서 바꿀 수 없습니다. cmdlet이 거부하면 기존 매개 변수를 적어 두고, 프로필을 지운 뒤 수정한 값으로 다시 만들고, 원래 터널과 인증 설정을 유지하십시오. 전화번호만 바꾸면 되는 스크립트는 모든 것을 다시 만들지 않고 RAS API로 전화번호부 항목을 편집할 수 있습니다. 어느 경로를 택하든 나중에 저장된 값을 확인하고 명령의 침묵을 믿지 마십시오.

어느 전화번호부를 편집했는지 알기

사용자별 프로필은 그 사용자의 네트워크 연결 디렉터리에 있고, 모든 사용자 프로필은 프로그램 데이터 트리 아래의 컴퓨터 전체 디렉터리에 있습니다. 서로 다른 범위의 다른 항목이며, 하나를 편집해도 다른 하나는 그대로입니다.

그래서 변경이 사라진 것처럼 보일 수 있습니다. 스크립트는 한 계정으로, 시험은 다른 계정으로 실행되었습니다. 프로필이 컴퓨터의 것이라면 -AllUserConnection을 사용하고, 다시 읽을 때 같은 범위를 확인하십시오.

시험하기 전에 프로필 다시 읽기

넘긴 값이 아니라 Windows가 저장한 값을 물으십시오.

Get-VpnConnection -Name "Office L2TP" | Select-Object Name, ServerAddress, TunnelType, AuthenticationMethod

그 출력을 의도와 비교한 뒤 새 연결을 시작하십시오. 연결이 실패하면 프로필을 다시 바꾸기 전에 이벤트 뷰어에서 RAS 클라이언트 로그를 확인하십시오. 로그가 실패한 단계를 알려줍니다.

편집하는 동안 인증 설계를 그대로 두십시오. 주소를 바꾸면서 인증서나 EAP 구성을 빠뜨리는 명령은 편집과 무관해 보이는 실패를 만듭니다. 작동하는 프로필을 미리 내보내 두면 추측 대신 복원할 것이 생깁니다.

관련 글