6741
Goto Top

Client pingbar, tu das - in Schleife ( 300x )

Hallo,

ich glaube es ist einfach ...


PCName ( abc001 - abc300 )

wenn der PCName pingbar ist soll, eine Datei kopeirt werden.
Kleines Log ( Erfolgreich kopiert ), wenn der PCName nicht erreichbar ist, gehe zum nächsten ( pcName002. Auch wenn der PC nicht pingbar ist dann kurze Info in Log. Diese Schleife soll dann 300x laufen.

Somit kann ich ein Scritp laufen lassen welches nach Änderung immer die Datei kopiert. Dies soll nur nach aktivieren der Batch passieren.

Danke

kl Edit der PCName startet immer mit abc001 und sollte durch die Schleife auf abc300 hochgezählt werden.

Content-Key: 80763

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

Printed on: April 26, 2024 at 14:04 o'clock

Member: TuXHunt3R
TuXHunt3R Feb 14, 2008, updated at Oct 18, 2012 at 16:35:23 (UTC)
Goto Top
Kleine PowerShell-Lösung (ungetestet):
# Log vorbereiten
$Logfile = C:\temp\Log.txt
"Erfolgreich kopiert auf den PCs 'abc...':" | out-file -filepath $Logfile -encoding default  

# Do It!
for ($clientnummer=1; $clientnummer -le 300; $clientnummer++) {
	ping "abc"$clientnummer -n 1 | out-null  
	$PingErgebnis = "$lastexitcode"  
	if ($PingErgebnis -eq "0") {  
			copy-item -path <Quellpfad> -destination <Zielpfad>
			$clientnummer | out-file -filepath $Logfile -encoding default -append			
	}
}

Hier erfährst du, was die Powershell ist:
PowerShell for Runaways - Part I

Ich würde dir aber empfehlen, alle Clientnamen in ein Textfile zu schreiben (eine Zeile pro Client) und dann mittels einer Foreach-Schleife das Textfile auslesen. Ist einfacher zu warten, wenn ein neuer Client hinzukommt, muss du nur den Clientnamen in das Textfile pasten und musst am Script selbst nichts ändern.

Edit:
Den Logfilepfad ganz oben musst du natürlich noch nach deinen Bedürfnissen anpassen. Ausserdem muss du <Quellpfad> und <Zielpfad> durch deine Angaben ersetzen (Angaben ohne < oder >)
Mitglied: 6741
6741 Feb 14, 2008 at 18:53:47 (UTC)
Goto Top
hi Tuxhunt3r

werde ich testen ...

hast du evtl berücksichtigt, dass die Clientnamen mit abc001 anfangen und auch so fortlaufen

also

abc001
abc002
usw
abc300

also kann man doc nicht einfach +1 zählen ...

ich weiß nicht genau wie man das macht. Hätte evtl die vari abgefragt und dann diese mit der Zehnerstelle verändert ...

gruß
Member: TuXHunt3R
TuXHunt3R Feb 14, 2008 at 18:58:09 (UTC)
Goto Top
Die Lösung mit der Foreach-Schleife sähe dann in etwa so aus (ebenfalls ungetestet):
# Log vorbereiten
$Logfile = C:\temp\Log.txt
$Clientliste = get-content -path "C:\temp\Clientliste.txt"  
"Erfolgreich kopiert auf folgenden Clients:" | out-file -filepath $Logfile -encoding default  

# Do It!
foreach ($client in $Clientliste) {
	ping $client -n 1 | out-null
	$PingErgebnis = "$lastexitcode"  
	if ($PingErgebnis -eq "0") {  
			copy-item -path <Quellpfad> -destination <Zielpfad>
			$client | out-file -filepath $Logfile -encoding default -append			
	}
}

Die dazugehörige Liste ist ein Txt-File und sieht z.B. so aus:
client01
client02
client03
server02
.....

Bitte beachte, dass bei beiden Lösungen das Logfile jedes Mal überschrieben wird.
Member: TuXHunt3R
TuXHunt3R Feb 14, 2008 at 18:59:39 (UTC)
Goto Top
hast du evtl berücksichtigt, dass die Clientnamen mit abc001 anfangen und auch so fortlaufen
Oh sorry, habe ich vergessen. Weiss ehrlich gesagt auch nicht, wie genau das geht. Empfehle dir die Lösung mit dem Textfile. Siehe unteren Beitrag.
Mitglied: 6741
6741 Feb 19, 2008 at 14:44:24 (UTC)
Goto Top
ich habe überlegt bzw die Praxis zeigt, dass diese Varitante nicht besonders anwendbar ist.

Also würde ich es gerne mit eurer Hilfe ändern lassen.

Aufgabe wäre 3 Ranges zu pingen.

10.4.0.1-254
10.4.6.1-254
10.5.0.1-254

dies in eine Liste zu schreiben.

Jetzt würde der Copy Befehle kommen der die hosts Datei auf c schreibt. Also Info müsste das Erfolgreiche kopieren in eine log ( c:\log\log.txt ) Datei geschrieben werden. Möglichst mit dem Hostnamen, also müsste eine Namensauflösung vorher erfolgen.

Ich würde das ganze gerne per GP leider erkennen die Clients nicht die DC´s erst wenn die Hosts gepflegt ist "sehen" sie wieder den / die DC´s.

Richtiger wäre die DNS Struktur zu pürfen, aber leider fehlt mir "noch" die Kenntniss warum manche Notebooks bzw PC die DC´s nicht beim Starten sauber erkennen.

Sicher ist das ein ganz anderes Thema und ich wprde dies gerne posten.

gruß