breitroll123
Goto Top

Filetransfer per Powershell oder CMD-Script

Hallo,

Habe folgende Aufgabenstellung vor mir liegen.


Ich soll ein Script anfertigen das von einem Server semi-automatisiert folgendes tut:


1) Transfer einer Datei von lokal auf remote-server (Auslesen der Servernamen aus TXT-Datei)
2) Anlegen eines Scheduled Tasks zu Zeitpunkt X
3) Wiederholen bis alle Server aus der Liste abgearbeitet sind


Bin leider nicht wirklich Windows-Affin und hauptsächlich in der Linux/Unix(AIX) Ecke zu verortern.
Gibt es da eine Anlaufstelle wo das Thema schon in ähnlicher Form abgehandelt wurde bzw. Teile davon?

Es handelt sich bei den Systemen hauptsächlich um Window Server 2012 R2 und Windows Server 2016


L.G. breitroll

Content-Key: 491080

Url: https://administrator.de/contentid/491080

Printed on: May 7, 2024 at 04:05 o'clock

Mitglied: 140913
140913 Sep 03, 2019 updated at 10:23:38 (UTC)
Goto Top
Get-Content 'c:\servers.txt' | %{  
    copy-item -Path 'c:\datei.txt' -Destination "\\$_\freigabe\ordner" -verbose  
}
Member: erikro
erikro Sep 03, 2019 at 10:35:01 (UTC)
Goto Top
Moin,

Zitat von @140913:

> Get-Content 'c:\servers.txt' | %{  
>     copy-item -Path 'c:\datei.txt' -Destination "\\$_\freigabe\ordner" -verbose  
> }
> 

Das als Skript speichern und dann in der Aufgabenplanung eintragen in "Aktionen":

1. Programm starten auswählen.
2. In die Zeile Programm/Skript
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
3. In die Zeile "Argumente hinzufügen"
-command "Pfad_zu_Deinem_Skript" -executionpolicy bypass"  

Die Aufgabe muss mit erhöhten Rechten und unabhängig von der Benutzeranmeldung ausgeführt werden.

hth

Erik
Member: breitroll123
breitroll123 Sep 03, 2019 at 10:52:30 (UTC)
Goto Top
Hallo, war keine Absicht habe den Beitrag zwischen Tür&Angel verfasst.
Mit Copy-Item hatte ich schon versucht um den ersten Punkt abzuhandeln nach dem Eintrag von Microsoft hier:

https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell. ...

Leider bekomme ich folgenden Fehler nachdem ich mittels:

$Session = New-PSSession -ComputerName "Testserver" -Credential "Testserver\Administrator"

"New-PSSession : [Testserver] Beim Verbinden mit dem Remoteserver "Testserver" ist folgender Fehler aufgetreten: Die
Anforderung kann von WinRM nicht verarbeitet werden. Bei Verwendung der Kerberos-Authentifizierung ist der folgende
Fehler mit Fehlercode 0x80090311 aufgetreten: Sie können mit diesen Anmeldeinformationen nicht angemeldet werden,
weil Ihre Domäne nicht verfügbar ist. Stellen Sie sicher, dass Ihr Gerät mit dem Netzwerk Ihrer Organisation verbunden
ist, und versuchen Sie es erneut. Wenn Sie sich auf diesem Gerät zuvor mit anderen Anmeldeinformationen angemeldet
haben, können Sie sich mit diesen Anmeldeinformationen anmelden."

Der Testserver befindet sich nicht in der Domäne und lässt sich normal per RDP verbinden.
Member: denkis
denkis Sep 03, 2019 at 11:23:47 (UTC)
Goto Top
Hi,

Dein Zielserver muss für PS Remoting freigegeben sein.
https://support.microsoft.com/en-us/help/555966

Bei Remotemaschinen von Domäne nach Workgroup kommt das hier erschwerend hinzu. (WSMan - TrustedHosts)

Zudem wird "Testserver" nicht erreichbar sein, sofern Du ihn nicht einem DNS zugewiesen hast.

Beste Grüße
denkis
Member: breitroll123
breitroll123 Sep 03, 2019 at 11:36:24 (UTC)
Goto Top
Also der Testserver ist im DNS eingetragen.

Ein Ping auf den Computernamen löst korrekt dessen IP auf.
Die Server die es betrifft werden alle in der Domäne sein, der Testserver dient bloß der Schadenbegrenzung und ist deshalb nicht in der Domäne
Member: denkis
denkis Sep 03, 2019 at 11:54:01 (UTC)
Goto Top
WinRM musst Du trotzdem aktivieren.
Dafür gibt es in der Windowsfirewall eine vordefinierte Regel

Testserver Windowsfirewall
Rechtsklick auf “Inbound Rules” und dort „New Rule“
Wählt die “Predefined” Regel „Windows Remote Management“

Dann gibt es da noch einen Dienst der ebenfalls auf dem Testserver aktiv sein muss:
Windows-Remotverwaltung...

Beides geht auch per GPO:
per GPO:
Computer > Policies > Windows Components > Windows Remote Management (WinRM) > WinRM Service
computer Configuration -> Policies ->Windows Settings -> Security Settings -> Systemservices

Firewall rule anlegen unter
Computer Configurations > Policies > Security Settings > Windows Firewall and Advanced Security > Windows Firewall and Advanced Security
Rechtsklick auf “Inbound Rules” und dort „New Rule“
Wählt die “Predefined” Regel „Windows Remote Management“ und erlaubt diese für das passende Netzwerk.

bg
denkis
Mitglied: 140913
140913 Sep 03, 2019 updated at 14:49:54 (UTC)
Goto Top
Mit Copy-Item hatte ich schon versucht um den ersten Punkt abzuhandeln
Papperlapapp du brauchst kein extra PSRemoting "nur um Dateien auf die Server zu kopieren..."

Stichwort für Domänenfremde Rechner :
https://www.windowspro.de/tipp/uac-filter-fuer-windows-fernwartung-absch ...
Und schon lüppt dat auch über Copy-Item.
Member: breitroll123
breitroll123 Sep 03, 2019 at 15:22:27 (UTC)
Goto Top
Danke, werde mich mal mit ein paar Kollegen aus der Windows-Ecke kurzschließen und da mal nachhaken.
Ist wie gesagt nicht mein Aufgabenfeld und das ganze ist mehr ungewollt in meinen Handen gelandet face-smile


Vielen Dank an alle bisherigen Helfer face-smile