Resolve-DnsName: 'Resolve-DnsName'이라는 용어는 cmdlet의 이름으로 인식되지 않습니다.

Resolve-DnsName: 'Resolve-DnsName'이라는 용어는 cmdlet의 이름으로 인식되지 않습니다.

Resolve-DnsName인식되지 않나요 PowerShell Core? 내가 기억하는 한 그것은 PowerShell그 자체로 잘 작동합니다.

이게 .NET대립적인 dotnet문제인가요? 이 기능은 전혀 존재하지 않나요 dotnet?

thufir@dur:~/powershell/webservicex$ 
thufir@dur:~/powershell/webservicex$ dotnet --version
2.1.4
thufir@dur:~/powershell/webservicex$ 
thufir@dur:~/powershell/webservicex$ ./dns.ps1 
Resolve-DnsName : The term 'Resolve-DnsName' is not recognized as the name of a cmdlet, function, script file, or operable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At /home/thufir/powershell/webservicex/dns.ps1:3 char:1
+ Resolve-DnsName -Name localhost -Type ANY | Format-Table -AutoSize
+ ~~~~~~~~~~~~~~~
+ CategoryInfo          : ObjectNotFound: (Resolve-DnsName:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException

thufir@dur:~/powershell/webservicex$ 
thufir@dur:~/powershell/webservicex$ cat dns.ps1 
#!/usr/bin/pwsh -Command

Resolve-DnsName -Name localhost -Type ANY | Format-Table -AutoSize

thufir@dur:~/powershell/webservicex$ 

마감된 질문 보기반품, 그리고기술 네트워크.

답변1

라는 크로스 플랫폼 모듈이 있으며 DnsClient-PS이 모듈의 명령 이름은 입니다 Resolve-Dns. 해당 기능은 다음과 약간 다릅니다 Resolve-DnsName.

> Find-Module -Name PowerShellGet | Install-Module
> Get-PSRepository

Name                      InstallationPolicy   SourceLocation
----                      ------------------   --------------
PSGallery                 Untrusted              https://www.powershellgallery.com/api/v2

> Set-PSRepository -Name "PSGallery" -InstallationPolicy Trusted
> Get-PSRepository

Name                      InstallationPolicy   SourceLocation
----                      ------------------   --------------
PSGallery                 Trusted              https://www.powershellgallery.com/api/v2

> Install-Module -Name DnsClient-PS
> Resolve-Dns google.com | Select-Object -Expand Answers

DomainName  TimeToLive RecordClass RecordType RecordData
----------  ---------- ----------- ---------- ----------
google.com. 401        IN          A          64.233.185.102
google.com. 401        IN          A          64.233.185.139
google.com. 401        IN          A          64.233.185.138
google.com. 401        IN          A          64.233.185.113
google.com. 401        IN          A          64.233.185.101
google.com. 401        IN          A          64.233.185.100

답변2

~에서PowerShell Core 6.0의 새로운 기능"이전 버전과의 호환성" 섹션에 있는 문서:

Windows(예: DnsClient, Hyper-V, NetTCPIP, Storage 등)의 일부로 제공되는 대부분의 모듈과 Azure 및 Office를 포함한 기타 Microsoft 제품은 .NET Core로 명시적으로 포팅되지 않았습니다. PowerShell 팀은 이러한 제품 그룹 및 팀과 협력하여 기존 모듈을 검증하고 PowerShell Core로 이식하고 있습니다. .NET Standard 및 CDXML과 마찬가지로 많은 레거시 Windows PowerShell 모듈이 PowerShell Core에서 작동하는 것처럼 보이지만 공식적으로 확인되지 않았으며 공식적으로 지원되지 않습니다.

Powershell Core가 공식적으로 출시되었지만 여전히 진행 중인 작업입니다.

답변3

cmdlet이 PS 6에서 작동하려면 Resolve-DnsName먼저 cmdlet을 가져오거나 설치해야 합니다.

먼저 시도해 볼 수 있습니다 Install-Module -Name DnsClient. 기본 패키지 관리자를 사용하여 psgallery에서 다운로드하여 설치합니다.

그런 다음 Import-Module -Name "DnsClient"당겨 넣으세요.

그러면 cmdlet Resolve-DnsName이 실행됩니다.

Test-NetConnectionNetTCPIP 모듈의 다양한 매개변수를 사용하여 구문 분석 할 수도 있습니다 .

관련 정보