Zum Inhalt wechseln


Foto

Power Shell Skript auf externem Server ausführen


  • Bitte melde dich an um zu Antworten
3 Antworten in diesem Thema

#1 harley071

harley071

    Newbie

  • 2 Beiträge

 

Geschrieben 21. Oktober 2017 - 15:46

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

 

 



#2 tesso

tesso

    Board Veteran

  • 2.251 Beiträge

 

Geschrieben 21. Oktober 2017 - 16:22

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



#3 Dukel

Dukel

    Board Veteran

  • 9.298 Beiträge

 

Geschrieben 21. Oktober 2017 - 23:45

Replizieren die DNS Server untereinander (dies geht auch ohne AD)? Dann brauchst du dies nicht auf beiden Servern setzen.


Stop making stupid people famous.


#4 harley071

harley071

    Newbie

  • 2 Beiträge

 

Geschrieben 22. Oktober 2017 - 11:31

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