Jump to content
harley071

Power Shell Skript auf externem Server ausführen

Empfohlene Beiträge

Hallo zusammen. Ich habe mich eben angemeldet weil ich ein Problem mit dem erstellen eines Power Shell Scriptes habe.

 

Ich bin nicht gerade der Spezialist was Power Shell anbelangt. Deshalb hoffe ich das ihr mir dabei helfen könnt.

 

Ich möchte ein Skript erstellen das es einfach macht statische DNS Einträge zu erstellen. Das auf dem Primären und sekundären DNS Servers. Die Win2016 Server sind in keiner Domäne, die DNS Einträge werden also nicht im AD gespeichert.

Die DNS Einträge auf dem Primären Server der auch DNS Master ist habe ich gut hin bekommen und funktioniert so wie ich das möchte. Was mir aber nicht gelingt, ist das korrekte Ausführen des PS Skripts auf dem sekundären Server. 

 

Server 1 kann auf Server 2 PS Skripts ausführen, das habe ich geregelt. Der PS Befehl der die Sekundäre Zone auf Server 2 einträgt funktioniert wen man ihn einzeln im PS eingibt. Nur wen die Befehle im Skript mitgegeben werden funktioniert das nicht.

 

Das Skript sieht so aus.

 

--------------------------

#
# Eintrag auf NS3 hinzufügen
#
Add-DnsServerPrimaryZone -Name "$Domain" -ZoneFile "$Domain.dns"
Add-DnsServerResourceRecord -ZoneName "$Domain" -NS -Name "." -NameServer "NS4.xxx.com"
Add-DnsServerResourceRecord -ZoneName "$Domain" -A -Name "." -AllowUpdateAny -IPv4Address "xxx.225.200.17" -TimeToLive 01:00:00
Add-DnsServerResourceRecord -CName -Name "www" -HostNameAlias "ws17.xxx.net" -ZoneName "$Domain" -AllowUpdateAny  -TimeToLive 01:00:00
Add-DnsServerResourceRecordMX -MailExchange mail.xxx.net -Name . -Preference 10 -ZoneName $Domain -AllowUpdateAny
Add-DnsServerResourceRecord -DescriptiveText "v=spf1 a mx a:smtp-gw1.xxx.net a:smtp-gw2.xxx.net a:smtp-gw3.xxx.net a:smtp-gw4.xxx.net a:smtp-gw5.xxx.net a:smtp-gw6.xxx.net ip4:xxx.174.32.0/22 ip4:xxx.225.200.0/22 ~all" -Name . -Txt -ZoneName $Domain
#
# Eintrag auf NS4 hinzufügen
#
Enter-PSSession 192.168.13.4
Add-DnsServerSecondaryZone -Name "$Domain" -ZoneFile "$Domain.dns" -MasterServers xxx.174.35.3
Exit-PSSession
 
Pause
 
-------------------------------
 
Die Zone auf dem primären DNS wird korrekt erstellt. Auf dem sekundären Server allerdings nicht.
 
Die Fehlermeldung die ich erhalte ist diese.
---------------------
Domain Name: contoso.com
Add-DnsServerSecondaryZone : Failed to create zone contoso.com on server NS3.
At C:\Users\Administrator\Desktop\DNS Einträge erstellen V.1.ps1:25 char:1
+ Add-DnsServerSecondaryZone -Name "$Domain" -ZoneFile "$Domain.dns" -M ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ResourceExists: (contoso.com:root/Microsoft/...erSecondaryZone) [Add-DnsServerSecondaryZ
   one], CimException
    + FullyQualifiedErrorId : WIN32 9609,Add-DnsServerSecondaryZone
 
Press Enter to continue...:
---------------------
 
Es scheint als ob die PS Session nicht richtig an den zweiten Server übergeben wird.

 

 

Wen ich den PS Befehl einzeln ohne die Variabel auf dem ersten Server ausführe, funktioniert dieses, die Zone wird auf dem zweiten Server erstellt.

-------------

Enter-PSSession 192.168.13.4
Add-DnsServerSecondaryZone -Name "contoso.com" -ZoneFile "Contoso.com.dns" -MasterServers xxx.174.35.3
Exit-PSSession
-----------

 

Wen ich die selben drei Zeilen dem Skript hinzufüge auch ohne die Variablen funktioniert der Befehl nicht.

 

Ich habe auch schon versucht das remote Kommando mit Invoke-Command zu übergeben. Das funktioniert einzeln, aber nicht wen der Befehl im Skript ausgeführt wird. Das selbe Resultat wie mit Enter-PSSession. Der Invoke Befehl sieht so aus.

 

-----------------

Invoke-Command -ComputerName 192.168.13.4 -ScriptBlock {Add-DnsServerSecondaryZone -Name "contoso.com" -ZoneFile "Contoso.com.dns" -MasterServers xxx.174.35.3}
Exit-PSSession
----------------

 

Kann mir da jemand weiterhelfen, bin ziemlich ratlos :-(

 

 

 

Gruss Wolfgang

 

 

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Das wird so nicht funktionieren. Mit Enter-PSSession machst du eine interaktive Shell auf dem Remotecomputer auf.

 

Schau die mal die Hilfe zu Add-DnsServerSecondaryZone an, insbesondere den Parameter -ComputerName

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Echt jetzt, so einfach :-)

 

Du hast mich auf die richtige Spur gebracht tesso. -ComputerName ist die Lösung, ich habe viel zu weit gedacht.

 

Recht herzlichen Dank für die Hilfe :-)

 

Gruss Wolfgang

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden

×