Resolve-Dns cmdlet unter Powershell 3.0 in Windows Server 2008 R2 nicht verfügbar
Hallo,
ich bräuchte das cmdlet Resolve-Dns, welches eigentlich in der Powershell 3.0 verfügbar sein sollte. Hab also auf meinem Windows Server 2008 R2 folgendes Update installiert:
Windows6.1-KB2506143-x64.msu (http://www.microsoft.com/en-us/download/details.aspx?id=34595)
In der Powershell sehe ich nun auch, dass ich Version 3.0 installiert habe:
PS C:\Users\Administrator> Get-Host
Name : ConsoleHost
Version : 3.0
InstanceId : 1d04b21b-f81e-4a5b-a931-ae493cb9771c
UI : System.Management.Automation.Internal.Host.InternalHostUserInterface
CurrentCulture : de-DE
CurrentUICulture : de-DE
PrivateData : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy
IsRunspacePushed : False
Runspace : System.Management.Automation.Runspaces.LocalRunspace
Leider hab ich trotzdem immer noch nicht den Resolve-Dns Befehl zur Verfügung:
PS C:\Users\Administrator> Resolve-Dns
Resolve-Dns : Die Benennung "Resolve-Dns" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder
eines ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern
enthalten), und wiederholen Sie den Vorgang.
In Zeile:1 Zeichen:1
+ FullyQualifiedErrorId : CommandNotFoundException
Weiß einer, was ich noch installieren muss um diesen Befehl zur Verfügung zu haben?
mfg
Wiseguy
ich bräuchte das cmdlet Resolve-Dns, welches eigentlich in der Powershell 3.0 verfügbar sein sollte. Hab also auf meinem Windows Server 2008 R2 folgendes Update installiert:
Windows6.1-KB2506143-x64.msu (http://www.microsoft.com/en-us/download/details.aspx?id=34595)
In der Powershell sehe ich nun auch, dass ich Version 3.0 installiert habe:
PS C:\Users\Administrator> Get-Host
Name : ConsoleHost
Version : 3.0
InstanceId : 1d04b21b-f81e-4a5b-a931-ae493cb9771c
UI : System.Management.Automation.Internal.Host.InternalHostUserInterface
CurrentCulture : de-DE
CurrentUICulture : de-DE
PrivateData : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy
IsRunspacePushed : False
Runspace : System.Management.Automation.Runspaces.LocalRunspace
Leider hab ich trotzdem immer noch nicht den Resolve-Dns Befehl zur Verfügung:
PS C:\Users\Administrator> Resolve-Dns
Resolve-Dns : Die Benennung "Resolve-Dns" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder
eines ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern
enthalten), und wiederholen Sie den Vorgang.
In Zeile:1 Zeichen:1
Resolve-Dns
~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Resolve-Dns:String) , CommandNotFoundException+ FullyQualifiedErrorId : CommandNotFoundException
Weiß einer, was ich noch installieren muss um diesen Befehl zur Verfügung zu haben?
mfg
Wiseguy
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 227046
Url: https://administrator.de/contentid/227046
Ausgedruckt am: 22.11.2024 um 09:11 Uhr
4 Kommentare
Neuester Kommentar
Hallo WiseGuy,
das CMDLet heißt nicht Resolve-Dns sondern Resolve-DnsName und ist erst verfügbar unter: Windows 8.1, Windows Server 2012 R2 mit Windows PowerShell 4.0.
http://technet.microsoft.com/en-us/library/jj590781.aspx
Als Alternative kannst du das gewünschte mit einer .NET Methode machen:
Grüße Uwe
das CMDLet heißt nicht Resolve-Dns sondern Resolve-DnsName und ist erst verfügbar unter: Windows 8.1, Windows Server 2012 R2 mit Windows PowerShell 4.0.
http://technet.microsoft.com/en-us/library/jj590781.aspx
Als Alternative kannst du das gewünschte mit einer .NET Methode machen:
([system.net.dns]::GetHostEntry("www.microsoft.com")).AddressList.IPAddressTostring
Zitat von @wiseguy:
Ich hab jetzt auch die Powershell 4.0 für Windows Server 2008 R2 von hier installiert:
http://www.microsoft.com/de-de/download/details.aspx?id=40855
Aber das cmdlet steht mir auch da nicht zur Verfügung.
wie schon oben geschrieben, erst ab Server 2012R2 oder Win 8.1 verfügbarIch hab jetzt auch die Powershell 4.0 für Windows Server 2008 R2 von hier installiert:
http://www.microsoft.com/de-de/download/details.aspx?id=40855
Aber das cmdlet steht mir auch da nicht zur Verfügung.
Ist es da auch möglich, einen speziellen DNS Server abzufragen?
muss ich mal nachsehen ...
habe mal eine Funktion mit nslookup gebaut die IPv4 Adressen in einem StringArray zurückliefert, wenn der Hostname nicht aufgelöst werden konnte gibt sie "False" zurück
(Wie immer ohne Gewähr)
vielleicht hilft dir das
Grüße Uwe
Function Resolve-Dns($hostname,$dnsserver){
Function Get-Matches($Pattern,$groupNumber = 0) {begin { $regex = New-Object Regex($pattern) };process { foreach ($match in ($regex.Matches($_))) { ([Object[]]$match.Groups)[$groupNumber].Value }}}
$proc = New-Object System.Diagnostics.Process
$procStartInfo = New-Object System.Diagnostics.ProcessStartInfo("nslookup"," $hostname $dnsserver")
$procStartInfo.UseShellExecute = $false
$procStartInfo.RedirectStandardOutput = $true
$proc.StartInfo = $procStartInfo
$proc.Start() | out-null
$proc.WaitForExit()
$sOutput = $proc.StandardOutput.ReadToEnd()
$ips = $sOutput | Get-Matches "(?s)Name:.*Address(es)?:(.*)" 2 | Get-Matches "\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}" 0
if ($ips.Length -gt 0){$ips}else{$false}
}
Resolve-Dns "www.administrator.de" "8.8.8.8"
vielleicht hilft dir das
Grüße Uwe