roadrunner74
Goto Top

Batch - Auslesen Rechername und Ausnahme für diesen setzen

Moin in die Runde,

ich habe eine Batch fie für mehrere WIndows Rechner zentral bereit liegt und beim Login abgearbeitet wird. Bisher war es so, daß alle EIntragungen für alle Systeme äquivalent waren. Leider hat sich dies nun gerändert und für einen einzigen Wert für einen bestimmten Rechner gilt das nun nicht mehr.

Mein Gedankengang:
- Batch durchlaufen lassen und am Ende Auslesen wie der Rechnername lautet und wenn der betroffeen Rechner ausgelesen ist den gewünschten Paramter wieder umschreiben. Dies ließe sich auch relativ einfach für andere Rechner bei Bedarf anpassen und bleibt übersichtlich, denn die Ausnahmen sind immer am Ende der Batch zu finden.

Wenn jemand eine bessere Idee hat, gerne INfo, aber grundlegend geht es darum:

1.) wie kann ich den Rechnernamen in einer Batch auslesen
2.) wie kann ich eine Ausnahme in eine Batch programmieren

Danke im Vroaus für Eure Unterstützung.

Gruß
SupMar

Content-ID: 4893607143

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

Ausgedruckt am: 02.11.2024 um 20:11 Uhr

3063370895
Lösung 3063370895 08.12.2022 aktualisiert um 13:02:40 Uhr
Goto Top
Computername bekommst du mit

%ComputerName%

Verbinde das mit einer if-Abfrage

IF "%ComputerName%" == "wasauchimmer" (Hier dein Code falls der Computer "wasauchimmer" heißt)  

Generell die Empfehlung wie immer: schmeiß Batch weg, benutze PowerShell face-smile
4863114660
Lösung 4863114660 08.12.2022 aktualisiert um 13:04:15 Uhr
Goto Top
1.) wie kann ich den Rechnernamen in einer Batch auslesen
echo %COMPUTERNAME%
2.) wie kann ich eine Ausnahme in eine Batch programmieren
if /i "%COMPUTERNAME%" == "BLABLUB" (  
    echo do something special for BLABLUB    
) else (
    echo do something for all others
)
Anno 1980 ... 😱

Gruß S.
Doskias
Lösung Doskias 08.12.2022 um 14:45:03 Uhr
Goto Top
Moin,

Zitat von @supmar:

Moin in die Runde,

ich habe eine Batch fie für mehrere WIndows Rechner zentral bereit liegt und beim Login abgearbeitet wird. Bisher war es so, daß alle EIntragungen für alle Systeme äquivalent waren. Leider hat sich dies nun gerändert und für einen einzigen Wert für einen bestimmten Rechner gilt das nun nicht mehr.

Mein Gedankengang:
- Batch durchlaufen lassen und am Ende Auslesen wie der Rechnername lautet und wenn der betroffeen Rechner ausgelesen ist den gewünschten Paramter wieder umschreiben. Dies ließe sich auch relativ einfach für andere Rechner bei Bedarf anpassen und bleibt übersichtlich, denn die Ausnahmen sind immer am Ende der Batch zu finden.

Wenn jemand eine bessere Idee hat, gerne INfo, aber grundlegend geht es darum:
Ja kann man so machen, wie du schreibst oder du machst es gleich richtig. Richtig wäre in meinen Augen:
- Wenn du unterschiedliche Dinge im Startskript verarbeiten willst, dann schreibe 2 Skripte
- Sorge dafür, dass du das Startskript und die Ausführung per GPO am richtigen Rechner steuerst

Das was du vorhast wird gnadenlos schief gehen, weil du nach und nach immer mehr Rechner dazu bekommst, die jetzt doch anders sind und wenn du (aus welchen Gründen auch immer) du die Rechnernamen mal anpassen musst, dann versagt dein Skript plötzlich. Wenn du es per GPO regelst, dann spielt der Name des Rechners keine Rolle, da auf die S-ID verknüpft wird.

Alternativ, je nachdem was das Skript macht, kannst du die Einstellung vermutlich auch direkt per GPO verteilen.

Gruß
Doskias
Roadrunner74
Roadrunner74 12.12.2022 um 06:27:11 Uhr
Goto Top
Moin in die Runde und Danke für die Rückmledung. Sie waren sehr hilfreich.

Eine GPO kommt nicht in Frage, da wir uns in einem Perr2Peer Netzwerk befinden... diese Netzwerke werden defintiv nicht größer werden. (und wenn doch, dann wird umgebaut (weg von P2P).

Gruß

SupMar