파워쉘을 통해 원격 서버의 서비스를 통제해야 하는 필요성이 있어서 아래와 같은 스크립트를 만들게 되었다. 처음에는 Invoke-Command를 통해 Native 한 명령으로 해결을 하였지만 확장성을 위해 변수로 처리하려 하였으나 잘되지 않다가 "$ExecutionContext.InvokeCommand.NewScriptBlock"을 사용하여 ScriptBlock를 만들어 실행하이 원하는 되로 변수화로 담겨 실행할 수 있게 되었다.
# 서버 리스트
$serverNameList = "servver1,servver2";
# 서버 리스트 목록 $ServerNames = $serverNameList.Split(',');
# 서비스 리스트
$serviceNameList = "ServiceName1|ServiceName2"
# 서비스 리스트 목록 $serviceNames = $serviceNameList.Split('|');
Windows8에서 원격 연결시 제대로 아이디와 패스워드를 입력하였는데도 연결이 되지 않는다.
[그림1] 원격 연결 실패 화면
아래와 같은 사항으로 문제를 해결 할 수 있습니다.
MS 가이드 절차
이 문제를 해결하려면 원격 데스크톱 연결 6.0에서 새로운 기능을 해제하여 원격 데스크톱 연결 5.x의 기능으로 되돌립니다. 이렇게 하려면 다음과 같이 하십시오.
시작, 실행을 차례로 누르고 mstsc.exe를 입력한 다음 확인을 누릅니다.
옵션을 누른 다음 일반 탭을 누릅니다.
다른 이름으로 저장을 누른 다음 파일 이름 상자에 파일 이름을 입력합니다.
원격 데스크톱 파일을 저장할 위치를 선택하고 저장을 누른 다음 취소를 누릅니다.
참고 저장된 파일의 확장명은 .rdp입니다.
시작, 실행을 차례로 누르고 notepad를 입력한 다음 확인을 누릅니다.
파일 메뉴에서 열기를 누릅니다.
파일 형식 목록에서 모든 파일을 누릅니다.
찾는 위치 목록에서 4단계에서 저장한 파일을 찾아 누른 다음 열기를 누릅니다.
다음과 유사한 줄을 찾습니다.
authentication level:i:n
참고n 자리 표시자는 현재 인증 수준을 나타냅니다.
인증 수준을 0으로 변경하여 줄이 다음과 같이 되도록 합니다.
authentication level:i:0
참고 인증 수준을 0으로 설정하면 RDP 6.0에서 서버 인증을 확인하지 않습니다.
파일의 끝에 다음 줄을 추가합니다.
enablecredsspsupport:i:0
참고 이 줄이 있으면 원격 데스크톱 연결을 설정하기 전에 자격 증명을 제공할 필요가 없습니다.
파일 메뉴에서 저장을 누릅니다.
원격 데스크톱 연결을 사용하여 연결하려면 12단계에서 저장한 파일을 실행합니다.
참고 이러한 단계를 수행하면 원격 데스크톱 연결 6.0에서 제공하는 새로운 보안 기능이 제거됩니다. 또한 원격 데스크톱 연결 6.0이 시스템 속성에서 네트워크 수준 인증이 있는 원격 데스크톱을 실행 중인 컴퓨터에서만 연결 허용 옵션을 사용하는 Windows Vista 기반 컴퓨터와 호환되지 않습니다.
위와 같은 설명은 너무 장황 스럽고 이해 하기도 힘들다면 rdp로 저장하고 편집된 코드를 보도록 하자
screen mode id:i:2 use multimon:i:0 desktopwidth:i:1920 desktopheight:i:1080 session bpp:i:32 winposstr:s:0,1,2110,31,3390,1025 compression:i:1 keyboardhook:i:2 audiocapturemode:i:0 videoplaybackmode:i:1 connection type:i:7 networkautodetect:i:1 bandwidthautodetect:i:1 displayconnectionbar:i:1 enableworkspacereconnect:i:0 disable wallpaper:i:0 allow font smoothing:i:0 allow desktop composition:i:0 disable full window drag:i:1 disable menu anims:i:1 disable themes:i:0 disable cursor setting:i:0 bitmapcachepersistenable:i:1 full address:s: site.com:51201 ( 상황마다 다름 ) audiomode:i:0 redirectprinters:i:1 redirectcomports:i:0 redirectsmartcards:i:1 redirectclipboard:i:1 redirectposdevices:i:0 autoreconnection enabled:i:1 authentication level:i:2 prompt for credentials:i:1 negotiate security layer:i:1 remoteapplicationmode:i:0 alternate shell:s: shell working directory:s: gatewayhostname:s: gatewayusagemethod:i:4 gatewaycredentialssource:i:4 gatewayprofileusagemethod:i:0 promptcredentialonce:i:0 use redirection server name:i:0 rdgiskdcproxy:i:0 kdcproxyname:s: drivestoredirect:s: enablecredsspsupport:i:0