2010-06-04 11 views
0

RegConnectRegistry (...)를 호출하여 원격 컴퓨터에서 레지스트리를 열면 환경 변수를 확장 할 수 있습니까? 나는 ExpandEnvironmentStrings과 ExpandEnvironmentStringsForUser를 살펴 봤지만 로컬 머신에서만 유용하다고 보여집니다. 나는 RegistryKey.GetValue()가 .Net에서 RegistryKey.OpenRemoteBaseKey()를 호출 한 후에 변수를 확장한다고 생각할 수 있어야한다고 생각하지만, .NET 외부에서이 작업을 수행해야한다.원격 컴퓨터의 레지스트리 환경 변수 문자열 확장

아이디어가 있으십니까?

+1

RegistryKey.GetValue() (http://msdn.microsoft.com/en-us/library/fdf576x1.aspx)에 대한 설명서는 * local * 환경의 데이터를 사용하여 환경 문자열을 확장한다는 것을 나타냅니다. – Luke

+0

그래, 나는 위에서 말했듯이 .Net 메서드가 확장된다는 것을 알고있다. 새로운 방법이 또한 확장되었지만 Vista 이상에서만 가능합니다 - http://msdn.microsoft.com/en-us/library/ms724868(v=VS.85).aspx. –

+0

필자는 Luke의 코멘트를 더 자세히 읽고 로컬 환경을 기반으로 확장되는 것을보기 위해 msdn 설명서를 더 자세히 읽어야합니다. –

답변

2

주어진 프로세스에서 실행되는 환경 변수가 현재 로그온 한 사용자를 기반으로하는 경우 원격 시스템에서 활성화 될 환경 변수 집합은 어떻게 결정됩니까?

정보를 읽을 수 있더라도 (결국 레지스트리에 있음) 환경을 변경하는 프로세스는 어떻게 처리합니까?

+0

메시지 리소스 dll 경로를 가져 오려면 EventLog 아래에서 로컬 컴퓨터 아래에서 레지스트리 키 값을 확장해야합니다. –

+0

현재 환경 변수를 사용하여 환경 문자열을 확장하려는 .Net 함수가 있다고 가정하면 문자열의 ExpandEnvironmentStrings를 호출 할 수 없습니까? –

+0

네 말이 맞아. 이제 닷넷 기능은 현재의 환경을 기반으로 확장 될 뿐이라는 것을 알았습니다. –