복사된 rasphone.pbk가 다른 시스템 전체 VPN을 지웠다
VPN 하나를 배포하려고 전역 전화번호부를 바꾸면 그 안에 저장된 다른 모든 연결이 지워집니다. 이름 있는 프로필을 소유하고, 미리 확인한 뒤, 나머지가 살아남는지 증명하십시오.
새 VPN이 나타났고 인증도 통과했는데, 이 년 넘게 그 머신에 살던 타사 VPN이 같은 재부팅에서 사라졌다. 배포 로그에는 아무 언급도 없었다. 배포 과정 어디에서도 그것을 다루지 않았기 때문이다. 패키지가 전역 전화번호부를 교체했고, 다른 연결은 그 파일 안의 한 항목이었다. 이것은 복사 작업이 복사 작업으로서 마땅히 해야 할 행동을 한 것뿐이다.
해결책은 더 나은 복사가 아니다. 파일을 복사하지 않는 것이다.
전화번호부에 실제로 들어 있는 것
전화번호부는 프로필이 아니라 연결 정의들의 컨테이너다. 사용자별 항목은 사용자 프로필 아래에 있고, 모든 사용자 항목은 머신 전체 ProgramData 경로 아래에 있다 그래서 그 파일을 쓰는 배포는 모든 로컬 사용자에게 한 번에 영향을 준다. 같은 파일에는 다른 공급업체가 만든 항목도 들어 있고, 부수적 피해는 바로 거기서 생긴다.
연결 정의만으로 끝나는 일도 아니다. 경로, DNS 정책, 신뢰된 CA 자료, 그리고 ID는 각각 다른 담당자가 마련한다.
어느 범위가 그 프로필을 소유하는지 밝힌다
무엇이든 쓰기 전에 두 범위를 모두 나열한다. Get-VpnConnection 는 현재 사용자 항목을 돌려주고 Get-VpnConnection -AllUserConnection 는 머신 전체 항목을 돌려준다. 같은 이름이 양쪽에 서로 다른 설정으로 존재할 수 있다. 배포가 어느 범위를 소유하는지 정하고 적어 둘 것. 잘못된 범위를 갱신하면 사용자는 옛 프로필로 계속 접속하고, 당신의 변경은 아무도 읽지 않는 파일 안에 남는다. SYSTEM으로 실행되는 예약 작업 도 로그온한 사용자와 다른 프로필 집합을 본다.
소유자를 이름 붙이는 일이, 다음 엔지니어가 파일 전체 복사를 되풀이하지 않게 막는 단계다.
이름 있는 연결을 만들거나 갱신한다. 그 밖의 일은 하지 않는다
기본 Windows 프로필이라면 Add-VpnConnection 이 항목 하나를 만들고, -AllUserConnection 이 머신 전체 범위를 고른다. 먼저 -WhatIf 를 붙여 실행해서, 미리보기가 사용자 불만이 아니라 당신의 기록에 남게 하라:
Add-VpnConnection -Name 'Office VPN' -ServerAddress 'vpn.example.com' -TunnelType Ikev2 -AuthenticationMethod Eap -EapConfigXmlStream $approvedEapXml -AllUserConnection -WhatIfEAP XML은 정당한 곳에서 와야 한다. 동작하는 참조 프로필에서 내보냈거나, 실제 게이트웨이를 위해 관리 도구가 생성한 것이어야 한다. 서버 신뢰 설정이 올바르지 않으면 프로필은 잘못된 대상에 연결되거나 어디서든 실패한다. 둘 다 배포 성공이 아니다.
항목이 이미 있으면 설정을 비교하고 Set-VpnConnection 로 갱신한다. 지우고 다시 만들지 말 것. 삭제는 동작하는 구성이 아무도 문서화하지 않은 필드를 잃는 길이고, 무관한 항목이 광범위한 정리에 휩쓸리는 길이다.
다음 정책 새로 고침 때 옛 프로필을 되돌려 놓을 두 번째 관리 시스템이 있는지 확인한다. 시범 적용이 실패하는 곳은 대개 cmdlet이 아니라 여기다.
이미 다른 VPN이 있는 머신에서 시험한다
머신 전체의 무관한 항목이 있는 시험 머신을 골라 배포한 뒤 세 가지를 확인한다. 새 프로필이 의도한 범위에 나타날 것, 인증이 사설 리소스까지 닿을 것, 무관한 항목이 여전히 연결될 것. 두 번 더 배포해서 두 번째 실행이 자기 프로필만 바꾸는지 확인한다. 그 세 번째 확인이, 자기 항목에는 멱등이고 나머지 모두에는 파괴적인 패키지를 잡아낸다.
제거도 같은 원칙을 따른다. Remove-VpnConnection -Name 'Office VPN' -AllUserConnection 은 항목 하나를 은퇴시키고 파일의 나머지는 건드리지 않는다.
이전의 의도한 구성을 쓸 수 있게 남겨 두어, 범위를 좁힌 롤백이 머신 상태 전체 복원이 아니라 프로필 하나의 재가져오기가 되게 한다.