Letters질문에 대한 답변

PsTools

2007년 3월 Desktop Files 칼럼에서 Wes Miller는 PsTools 유틸리티를 소개했습니다("PsTools 입문서", technetmagazine.com/issues/2007/03/DesktopFiles 참조). 그런데 이 멋진 유틸리티를 실행하려고 할 때 약간의 문제가 생겼습니다. 저는 특히 PsLoggedOn에 관심이 있습니다. 이 유틸리티를 제 경로에 있는 폴더에 추가하는 방법을 정확히 설명해 주시겠습니까? 예제를 곁들여 주시면 큰 도움이 되겠습니다.

—Tim

시작하기에 가장 좋은 방법은 전체 PsTools 패키지(download.sysinternals.com/Files/PsTools.zip)를 작업 디렉터리(예: c:\toolbox)로 다운로드하는 것입니다. ZIP 파일을 해당 디렉터리로 추출하면 도구를 사용할 준비가 된 것입니다. 이 디렉터리를 PATH에 추가하여 도구를 어디에서나 실행할 수 있게 하려면 명령 프롬프트에서 다음 명령을 실행하기만 하면 됩니다. 여기서 c:\toolbox는 사용하는 작업 디렉터리로 변경하십시오.

SET PATH=%PATH%;c:\toolbox

Robocopy 칭찬의 글

2006년 11월, Robocopy GUI에 대한 기사(technetmagazine.com/issues/2006/11/UtilitySpotlight)를 읽기 전까지 저희 회사 헬프 데스크는 네트워크 폴더에서 SharePoint® 저장소로 이동되는 파일의 타임스탬프를 유지할 방법을 찾지 못해 고생하고 있었습니다. Robocopy는 매우 멋진 도구입니다.

—Cristino

레지스트리 하위 키 확인

지난 몇 주 동안 저는 EnableLUA 레지스트리 하위 키의 값이 설정되었는지, 해제되었는지 테스트하는 방법을 찾기 위해 많은 노력을 기울였습니다. 이 값이 해제된 경우에는 사용자 계정 컨트롤이 해제됩니다. 확인을 위해 관리자 계정으로 로그인할 필요 없이 프로그램을 테스트 환경에 자동으로 설치할 수 있게 하려면 이 값을 해제해야 합니다. 저희는 이 테스트를 모든 설치 스크립트의 시작 부분에 추가하여 스크립트 실행 전에 EnableLUA의 값을 1(설정)에서 0(해제)으로 변경하는 스크립트를 실행하고자 합니다. 하지만 이 테스트를 실제 작동하는 데는 실패했습니다. 도움을 주시면 감사하겠습니다.

—Derek

다음은 레지스트리 키를 읽고, 값을 검사하고, 필요한 경우 값을 변경하는 기본 스크립트입니다. 이 예제에서는 키 HKLM\Software\Microsoft\Test\TestKey를 읽고, 값이 1인지 검사하고, 1이면 값을 0으로 변경합니다. 값이 1이 아닌 경우 스크립트는 종료됩니다.

On Error Resume Next
Set WSHShell =  Wscript.CreateObject _
    ("Wscript.Shell")
RegLoc = _ 
    "HKLM\Software\Microsoft\Test\TestKey"
KeyValue = WSHShell.RegRead(RegLoc)
If (KeyValue = "1") then
  WSHShell.RegWrite RegLoc,"0"
end If
Wscript.Quit

언제나 그렇듯이 레지스트리를 수정하는 스크립트, 특히 이런 종류의 스크립트는 특별히 주의해서 사용하시기 바랍니다.

ReadyBoost

ReadyBoost에 대해 좀더 명확하게 설명해 주시겠습니까? 제가 이해하기로는 ReadyBoost는 시스템의 RAM과 하드 드라이브 사이에 있는 버퍼처럼 동작하되 데이터는 동시에 기록되는 것으로 보입니다. 이 경우 시스템이 데이터를 이중으로 복사하기 때문에 성능이 저하되지 않습니까? ReadyBoost를 사용할 때와 사용하지 않을 때의 시스템 성능을 어떻게 테스트할 수 있을까요?

—Alex

ReadyBoost의 개념은 플래시 메모리(USB 스틱 등)가 임시 캐시처럼 작동하게 하여 비용이 더 많이 드는 일반 RAM의 양을 늘린다는 것입니다. ReadyBoost가 같은 데이터를 플래시 메모리와 하드 디스크에 동시에 쓰는 것만은 아닙니다. 대신 RAM과 디스크 사이의 중간 캐싱 계층으로 작동합니다. Mark Russinovich가 2007년 3월호 기사 "Windows Vista 커널 속으로: 2부"에서 이에 대해 다음과 같이 좀더 자세히 설명했습니다.

"ReadyBoost 서비스가 캐시를 초기화하고 나면 Ecache.sys 장치 드라이버는 로컬 하드 디스크 볼륨(예: C:\)에 대한 모든 읽기와 쓰기를 가로채고 기록 중인 모든 데이터를 서비스가 만든 캐시 파일에 씁니다...

...ReadyBoost는 캐시에서 사용 가능한 임의 읽기 작업이 있으면 캐시에서 이를 지원합니다. 그러나 하드 디스크는 플래시 메모리보다 순차 읽기 액세스 성능이 더 뛰어나므로 ReadyBoost는 순차 액세스 패턴의 일부인 읽기 작업을 데이터가 캐시에 있더라도 디스크에서 직접 수행할 수 있습니다."

Mark가 작성한 전체 기사는 technetmagazine.com/issues/2007/03/VistaKernel에서 볼 수 있습니다.

Windows PE 다운로드

2007년 5월호의 Letters 칼럼에 약간 일관되지 않는 내용이 있는 것 같습니다. 첫 번째 질문 "이미지 만들기"에 "Windows® PE 2.0 이미지는 WAIK의 도구를 사용하여 빌드하고 사용자 지정할 수 있으며..."라는 내용이 있습니다. 이 문구는 Windows PE가 도구에 포함되어 있고 다운로드할 수 있다는 의미입니다.

하지만 마지막 질문인 "Windows PE 구하기"의 답변에서는 "Windows PE는 Software Assurance 혜택으로만 제공됩니다..."라고 되어 있습니다. 제 생각에는 첫 번째 답변이 맞고 두 번째 답변은 이전 버전에 대한 답변을 갖다 쓴 것 같습니다.

—Xihui

Windows PE 2.0은 WAIK(Windows 자동 설치 키트)에서 다운로드 형태로 사용할 수 있습니다. 여기에는 Windows PE 1.6과 다른 라이선스 규칙이 적용됩니다. 이 이전 버전은 작년 기사인 "Windows PE 시작"에서 다뤘습니다. 이 기사는 technetmagazine.com/issues/2006/09/WindowsPE에서 볼 수 있습니다. Windows PE 1.6은 Software Assurance의 일부로만 제공되었습니다.

Windows PowerShell 보안

Windows PowerShell™에 대한 많은 이야기가 있었습니다. UNIX와 비슷한 구문, 손쉬운 명령 출력 형식 지정 등과 같은 내용을 다루는 기사는 많이 봤지만 Windows PowerShell을 데이터 센터에 도입할 때의 보안 관련 문제에 대해서는 들은 바가 없습니다.

이러한 강력한 셸을 프로덕션 서버에서 Windows PowerShell로 실행하거나 배포할 때 주의해야 할 보안 문제점은 무엇입니까?

—Carlos

Windows PowerShell에 관련된 보안이 중요하다는 점에는 전적으로 동감합니다. 실제로 Windows PowerShell 칼럼니스트인 Don Jones는 이번 호 TechNet Magazine에서 이 주제에 대해 깊이 있게 다룹니다. 이외에도 최근 출간된 두 권의 중요한 책도 참조할 수 있습니다. 이 두 책은 Windows PowerShell in Action(Bruce Payette 저, Manning Publications, 2007)과 Windows PowerShell: TFM(Don Jones and Jeffrey Hicks 저, SAPIEN Press, 2007)입니다. 두 권 모두 Windows PowerShell을 매우 깊이 있게 다루며 별도의 장을 할애하여 보안 문제를 설명합니다.

SQL을 이용하는 최선의 방법

BPA(Best Practices Analyzer) 및 스키마 정규화 개체에 대한 답변에서 설명한 권장 사항에 대해 동의하지 않는 부분이 있습니다(technetmagazine.com/issues/2007/05/SQLQA 참조). SQL Server™ 2005는 여전히 스키마(SQL Server 2000의 소유자와 반대의 개념. 기사 작성자는 이를 실수로 "스키마"로 지칭했음)를 확인해야 합니다. SQL Server 2005에 대한 확인 순서는 온라인 설명서(BOL)에 잘 설명되어 있습니다.

따라서 모호성 오류가 발생하지 않도록 하고 개체 이름을 확인하는 최적화 프로그램 CPU 사이클을 절약하기 위해서는 개체 정규화가 여전히 최선의 방법입니다. 칼럼에서 제시한 권장 사항은 Microsoft 백서 "Batch Compilation, Recompilation, and Plan Caching Issues in SQL Server 2005(SQL Server 2005의 일괄 컴파일, 재컴파일 및 캐싱 계획 문제)"의 내용에 상반됩니다.

—Mike

위 질문에 대한 답은 SQL Q&A 칼럼의 기고자이자 텍사스 주 댈러스에 있는 Microsoft Technology Center의 기술 설계자인 David Browne에게 직접 구했습니다. 그의 답변은 다음과 같습니다.

최선의 방법에 대한 의견은 사람마다 다를 수 있습니다. 특히 성능에 관해서는 주요 성능 차이를 구성하는 요소와 최적화할 수 있는 요소에 대한 인식이 사람마다 다릅니다.

예를 들어 저는 컴파일에서 최적화 프로그램 CPU 사이클을 절약하기 위해 쿼리를 특정한 방식으로 작성하는 것을 고려해 본 적이 없습니다. 이러한 방법이 실제 작업에 체감할 수 있을 정도의 차이를 주는지에 대해 의구심을 갖고 있습니다.

반면 쿼리 계획 재사용을 촉진하여 컴파일의 빈도를 줄이는 것은 널리 인정되는 성능 최적화 방법입니다.

WinPE

OS 설치에 Systems Management Server(SMS) Operating System Deployment Feature Pack(OSDFP)을 사용하고 있습니다. 이제 Windows Vista®가 출시되었기에 이 운영 체제를 OSDFP를 통해 설치하여 최신 버전으로 업그레이드하고자 합니다. 최신 OSDFP에서 제공하는 Windows PE의 버전은 무엇입니까?

이미지 설치 .iso 파일을 작성하고 이 파일을 RIS(원격 설치 서비스)에 복사했었습니다. 그런 다음 네트워크 부팅 옵션을 사용하여 새 시스템을 부트해 왔습니다. 하지만 RIS를 WIM(Windows Imaging) 파일만 부팅 이미지로 지원하는 WDS(Windows 배포 서비스)로 업그레이드했습니다. OSD의 설치 옵션을 통해 WIM 이미지를 작성하려면 어떻게 해야 합니까?

—Vasishta

Windows PE의 버전은 최신 릴리스의 OSDFP로 업데이트되지 않았으므로 여전히 버전 1.5(Windows PE 2004라고도 함)를 포함합니다. Windows PE가 업데이트되지 않았지만 Windows Vista 배포는 이제 OSDFP의 최신 릴리스에서 완전히 지원됩니다.

배포 가능한 데스크톱 이미지 작성에 사용할 수 있는 최선의 방법은 BDD(Business Desktop Deployment) Solution Accelerator를 사용하는 것입니다. 필요한 모든 구성 요소와 문서는 microsoft.com/technet/desktopdeployment/bdd/2007에서 구할 수 있습니다. 이번 호 TechNet Magazine에 Michael Niehaus가 기고한 기사 "BDD 2007을 사용한 Windows Vista 배포"도 참조하십시오.

Windows 2003 Server 포스터

TechNet Magazine 2007년 7월호를 금방 받았는데 두 장의 Windows Server® 2008 포스터가 들어 있어서 매우 기쁩니다. 제 친구는 지난 호에서 Windows 2003 Server 포스터를 받았습니다. Windows 2003 Server의 포스터를 인쇄물이나 PDF 형식으로 구할 수 있는 방법을 알려주시겠습니까?

—Jason

Windows Server 2008 포스터가 마음에 드셨다니 매우 기쁩니다. Windows Server 2003 포스터의 PDF 버전은 go.microsoft.com/fwlink/?LinkID=80428에서 온라인으로 구할 수 있습니다. Windows Server 2003 포스터는 PDF 버전 한 가지로만 제공됩니다.

© 2008 Microsoft Corporation 및 CMP Media, LLC. All rights reserved. 이 문서의 전부 또는 일부를 무단으로 복제하는 행위는 금지됩니다..