programing

Powershell v3.0 파이프 문제

lastmoon 2023. 7. 26. 22:22
반응형

Powershell v3.0 파이프 문제

다음 명령에 문제가 있습니다.

gc .\domains.txt | Get-ADDomain

이름에서 알 수 있듯이 도메인입니다.txt에는 쿼리할 Active Directory 목록이 포함되어 있습니다(모든 도메인이 동일한 포리스트에 있음).

윈도우즈 8 시스템에서 실행하면 모든 것이 정상적으로 작동하고 예상 결과가 나오는 대신 WMF 3.0이 설치된 윈도우즈 2008 R2 SP1 멤버 서버(DC가 아님)에서 목록의 첫 번째 도메인과 다른 도메인에서만 결과가 나옵니다.

Get-ADDomain : A referral was returned from the server

목록의 도메인을 다음과 같이 쿼리하는 경우:

Get-ADDomain <Domain name here>

잘 작동합니다.

내 워크스테이션

Microsoft Windows 8 Enterprise(6.2.9200) x64

PS D:\Tools\Powershell> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      3.0
WSManStackVersion              3.0
SerializationVersion           1.1.0.1
CLRVersion                     4.0.30319.18010
BuildVersion                   6.2.9200.16384
PSCompatibleVersions           {1.0, 2.0, 3.0}
PSRemotingProtocolVersion      2.2

서버

마이크로소프트 윈도우즈 서버 2008 R2 표준 SP1(6.1.7601) x64

PS C:\Tools\Powershell> $PSVersionTable

Name                           Value
----                           -----
WSManStackVersion              3.0
PSCompatibleVersions           {1.0, 2.0, 3.0}
SerializationVersion           1.1.0.1
BuildVersion                   6.2.9200.16398
PSVersion                      3.0
CLRVersion                     4.0.30319.269
PSRemotingProtocolVersion      2.2

갱신하다

서버에서 실행되는 경우:

gc .\domains.txt | %{ Get-ADDomain $_ }

잘 작동합니다.

추적하다

trace-command -Name ParameterBinding { "DOMAIN_1","DOMAIN_2" | Get-ADDomain } -PSHost

서버: http://pastebin.com/sRVJHaCU

워크스테이션: http://pastebin.com/kj3JV6nV

잘 부탁드립니다.

도움이 될 만한 기사를 찾았습니다.

http://technet.microsoft.com/en-us/library/ee617224.aspx

스크립트 모양에서 텍스트 파일을 사용하여 서버를 제공합니다.PowerShell 스크립트를 실행 중인 윈도우즈 2008 서버가 동일한 도메인에 있지 않거나 로그인한 사용자가 다른 서버가 멤버인 도메인에 액세스할 수 없는 경우 문제가 발생할 수 있습니까?

위 기사의 토막글:

-Server 매개 변수가 지정되었지만 Credential 매개 변수가 지정되지 않은 경우: --도메인이 지정된 서버의 도메인으로 설정되고 cmdlet이 서버가 LocalComputer 또는 LoggedOnUser의 도메인에 있는지 확인합니다.그런 다음 현재 로그온한 사용자의 자격 증명을 사용하여 도메인을 가져옵니다.서버가 LocalComputer 또는 LoggedOnUser의 도메인에 없을 때 오류가 반환됩니다.

-Identity, -AuthType 및 -Credential과 같은 Get-ADDomain 명령줄에 대한 추가 매개 변수를 추가할 수 있습니다.

Get-ADDomain [-Identity] [-AuthType { | }] [-Credential] [-Server]

Powershell v3.0 파이프 문제

cmdlet 'gc.\text를 실행하려고 했습니다.txt | 내가 가지고 있는 가상 서버 2008 R2 상자에서 'Get-ADDomain'.다음 형식으로 텍스트 파일을 작성했습니다.

 Domain1
 Domain2
 Domain3

한 가지 확실한 것은 각 도메인이 텍스트 파일의 자체 행에 있다는 것입니다.STDOUT를 다음에 연결했을 때 하나의 구문이 작동한 이유를 이해할 수 있습니다.

%{ Get-ADDomain $_} 

텍스트 파일에 포함된 모든 정보를 반복하고 cmdlet이 한 번에 하나의 값에서만 작동하기 때문입니다.안타깝게도 Win 8 데스크톱에 RSAT 패키지가 없어서 데스크톱에서 테스트할 수 없습니다.이것이 조금이나마 도움이 되길 바랍니다.

언급URL : https://stackoverflow.com/questions/13192447/powershell-v3-0-pipe-issue

반응형