Fragensteller
.ps1 Scripte an Zentraler Stelle im DFS Stamm Domain.TLD Remote aufrufen

Allgemeine Diskussion
-
Hallo,
Ziel ist es, dass wir einen Zentralen Punkt für unsere Scripte haben.
Beispielsweise möchte ich in der Aufgabenplanung unseres DC´s folgendes ausführen:
Start eines Scriptes -> \\Domain.com\dfs\Scripte\Hyper-V-Backup\HV-Backup.ps1
Dieses Script enthält verschiedene Invoke-Command -Computername Befehle, für jeden Server eine Zeile welche wiederum ein PS Script im o.a. DFS Pfad startet.
Innerhalb des Scriptes wird dann eine .txt Datei im o.a. DFS Pfad abgefragt.
Einmal konfiguriert, muss ich (bzw. ist dies der Plan) nur noch 2 Dateien pflegen und habe die Aufgabenplanung über einen Server konfiguriert.
Leider bekomme ich das ganze so nicht ans laufen und hoffe, dass Ihr die entscheidenden Tipps für mich habt.
Hier die aktuellste Fehlermeldung wenn ich das Script mit Angabe des DFS Pfades aufrufen möchte.
Sicherheitswarnung Führen Sie ausschließlich vertrauenswürdige Skripts aus. Skripts aus dem Internet können zwar nützlich sein, stellen jedoch auch eine potenzielle Gefahr für Ihren Computer dar. Möchten Sie "\\Domain.com\dfs\Scripte\Hyper-V-Backup\HyperV-Backup.ps1" ausführen? [N] Nicht ausführen [M] Einmal ausführen [H] Anhalten [?] Hilfe (Standard ist "N"):
Danke im voraus!
PS: DC ist ein 2012, die Server die per Invoke-Command angesprochen werden sollen, sind 3 Hyper-V Server 2012- Bearbeitet D. Bölling Mittwoch, 24. April 2013 10:16
- Typ geändert Denniver ReiningMVP, Moderator Freitag, 30. Juni 2017 10:32
Alle Antworten
-
PowerShell Scripte Zentral von einem Share (Repository) zu starten ist nicht so ganz Trivial, da, wie du gemerkt hast, einige Sicherheitsaspekte zu berücksichtigen sind.
1. PowerShell Execution Policy muss richtig eingestellt werden (unrestricted, bypass oder Remote signed)
(bypass ist in diesem Fall die beste, da unrestricted immer noch Warnungen ausspuckt!)
http://technet.microsoft.com/de-de/library/hh849812.aspx
2. Wenn die Execution Policy auf remote signed oder All signed eingestellt ist, dann kommen die Sicherheit Zonen des Internet Explorers ins Spiel. Shares sind Standardmäßig in der Internet Zone und sind nicht vertraut! Das Share oder besser eure Domäne muss in eine Trusted Zone eingetragen werden!
Siehe:
Running PowerShell Scripts From An UNC Path (Share)
http://setspn.blogspot.de/2011/05/running-powershell-scripts-from-unc.html
Alternative könnt Ihr auch das Share mit einem Laufwerksbuchstaben Verbinden (Net Use X:) und dann die Scripte über den Pfad mit X: starten. Dann werden sie nicht mehr in der Internet Zone erkannt.
Ich habe zu diesem Thema auch einige Blog Post verfasst, da es noch weitere Stolperfallen geben kann:
z.B. Bestehen einige PowerShell Module (Snapins) aus .NET Code der ebenfalls Ärger mit Shares verursacht.
PowerShell Snapins und Module zentral im Unternehmen Teil 1
http://www.admin-source.de/BlogDeu/117/powershell-snapins-und-module-zentral-im-unternehmen-teil-1
PowerShell Snapins und Module zentral im Unternehmen Teil 2
http://www.admin-source.de/BlogDeu/153/powershell-snapins-und-module-zentral-im-unternehmen-teil-2
.NET Code Access Security (CAS) Full Trust für ein Netzwerk-Share mit PowerShell und CASPOL.exe
http://www.admin-source.de/BlogDeu/69/net-code-access-security-cas-full-trust-fuer-ein-netzwerk-share-mit-powershell-und-caspol-exe
In Verbindung mit Remoting kann dir noch das second hop Problem (Delegation von Credentials an einen Dritten Rechner) begegnen.Please click “Mark as Answer” if my post answers your question and click “Vote As Helpful” if my Post helps you.
Bitte markiere hilfreiche Beiträge von mir als “Als Hilfreich bewerten” und Beiträge die deine Frage ganz oder teilweise beantwortet haben als “Als Antwort markieren”.
My PowerShell Blog http://www.admin-source.info
[string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace' '
German ? Come to German PowerShell Forum! -
Hallo,
erstmal Danke für die ausführliche Antwort!
Was inzwischen funktioniert:
Aufruf des Scriptes auf dem DC:
Invoke-Command -ComputerName w01s008 -FilePath C:\Scripte\Hyper-V-Backup\HyperV-Backup.ps1 -Credential (get-credential) -Authentication credssp
Das Script schreibt Ordner und Dateien auf Server W01S002, der Hop funktioniert also. Die Sicherungen der 3 betreffenden Server funktionieren nun, wenn ich sie manuell aufrufe.
Was nicht funktioniert:
Invoke-Command -ComputerName w01s008 -scriptblock {\\Domain.com\dfs\Scripte\Hyper-V-Backup\H yperV-Backup.ps1 -Credential (get-credential) -Authentication credssp }
Nochmals danke!
- Bearbeitet D. Bölling Mittwoch, 24. April 2013 13:15
-
Ich habe mit CredSSP keine Erfahrung.
Vielleicht hilft dir dieser Artikel weiter:
http://www.ravichaganti.com/blog/?p=1230http://msdn.microsoft.com/en-us/library/windows/desktop/ee309365%28v=vs.85%29.aspx
Please click “Mark as Answer” if my post answers your question and click “Vote As Helpful” if my Post helps you.
Bitte markiere hilfreiche Beiträge von mir als “Als Hilfreich bewerten” und Beiträge die deine Frage ganz oder teilweise beantwortet haben als “Als Antwort markieren”.
My PowerShell Blog http://www.admin-source.info
[string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace' '
German ? Come to German PowerShell Forum!
- Bearbeitet Peter Kriegel Mittwoch, 24. April 2013 13:36