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-ID: 491080

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

Ausgedruckt am: 25.11.2024 um 16:11 Uhr

140913
140913 03.09.2019 aktualisiert um 12:23:38 Uhr
Goto Top
Get-Content 'c:\servers.txt' | %{  
    copy-item -Path 'c:\datei.txt' -Destination "\\$_\freigabe\ordner" -verbose  
}
erikro
erikro 03.09.2019 um 12:35:01 Uhr
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
breitroll123
breitroll123 03.09.2019 um 12:52:30 Uhr
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.
denkis
denkis 03.09.2019 um 13:23:47 Uhr
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
breitroll123
breitroll123 03.09.2019 um 13:36:24 Uhr
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
denkis
denkis 03.09.2019 um 13:54:01 Uhr
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
140913
140913 03.09.2019 aktualisiert um 16:49:54 Uhr
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.
breitroll123
breitroll123 03.09.2019 um 17:22:27 Uhr
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