WinFuture-Forum.de: Batch - Über PC-Name Programme anstoßen - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Batch - Über PC-Name Programme anstoßen


#1 Mitglied ist offline   Manfred89 

  • Gruppe: Mitglieder
  • Beiträge: 2
  • Beigetreten: 20. Juli 23
  • Reputation: 0

geschrieben 20. Juli 2023 - 09:00

Hey Liebe Gemeinde :8):

ich bin neu im Forum und mache mich so langsam ans Batch-Skripting.

Habe nun ein Problem, wo ich nicht weiterkomme.

Ich soll anhand des PC-Namens gewisse Programme anstoßen.

Mein Versuch:
cd C:\install\Sophos

//Versuch Nr. 1 - PC Name angefangen mit AB-
echo %computername% | if exist %computername:~0,3%==AB- goto AB

//Versuch Nr.2 - ohne vorher echo Ausgabe
if exist %computername:~0,3%==AC- goto AC

// Versuch Nr. 3 mit findstr - Syntax falsch
if exist %computername%|findstr /i "AD-" goto AD
if exist %computername%|findstr /i "AB-Ausl" goto AB-Ausleihe
if not exist %computername%|findstr /i "ABCD" goto ABCD


:AB
SophosSetup.exe --devicegroup="AB\Test" --products=antivirus,mdr,intercept,xdr --language=1071 --quiet

:AC
SophosSetup.exe --devicegroup="AC" --products=antivirus,mdr,intercept,xdr --language=1071 --quiet

:AD
SophosSetup.exe --devicegroup="AD" --products=antivirus,mdr,intercept,xdr --language=1071 --quiet

:AB-Ausleihe
SophosSetup.exe --devicegroup="AB\AB-Ausleihe" --products=antivirus,mdr,intercept,xdr --language=1071 --quiet

:ABCD
SophosSetup.exe --devicegroup="ABCD" --products=antivirus,mdr,intercept,xdr --language=1071 --quiet




Egal was ich mache, er geht alle Zuweisungen (:AB, AC, AD...) durch, so als ob die goto Anweisung nicht funktioniert. Evtl. fehlt noch ein exit, aber dennoch springt er nicht zur richtigen goto Answeisung.

Zudem wäre es mir auch lieber, wenn ich mit regulären Ausdrücken arbeiten kann, sodass ich pc-name=beginne mit "AB-" anstatt exakt "AB-" zu beinhalten.

Ich möchte das genre per Batch und nicht mit VBS Skript gelöst bekommen.

Also
alle PC's, die im Namen AB- anfangen, sollen ":AB" Zuweisung ausführen
alle PC's, die im Namen AC- anfangen, sollen ":AC" Zuweisung ausführen.
etc...
wenn die ganzen PC's nciht so anfangen, soll ":ABCD" ausgeführt werden.

Ich hoffe, das ist verständlich :rolleyes:

Danke schon mal

Dieser Beitrag wurde von Manfred89 bearbeitet: 20. Juli 2023 - 09:00

0

Anzeige



#2 Mitglied ist offline   Shannon 

  • Gruppe: aktive Mitglieder
  • Beiträge: 131
  • Beigetreten: 12. Februar 13
  • Reputation: 11
  • Geschlecht:unbekannt

geschrieben 20. Juli 2023 - 11:14

Na, dann brauchst du aber noch einige Übungsstunden.
Hauptfehler : "exist" geht NUR mit Datei oder Verzeichnisnamen !!

Einfache Lösung:
cd C:\install\Sophos

  if %computername:~0,3%==AB- goto AB
  if %computername:~0,3%==AC- goto AC
  if %computername:~0,3%==AD- goto AD
  if %computername:~0,7%==AB-Ausl goto AB-Ausleihe


:ABCD
echo ******* Nichts gefunden ********
SophosSetup.exe --devicegroup="ABCD" --products=antivirus,mdr,intercept,xdr --language=1071 --quiet
goto ende



:AB
echo AB-
SophosSetup.exe --devicegroup="AB\Test" --products=antivirus,mdr,intercept,xdr --language=1071 --quiet
goto ende

:AC
echo AC-
SophosSetup.exe --devicegroup="AC" --products=antivirus,mdr,intercept,xdr --language=1071 --quiet
goto ende

:AD
echo AD-
SophosSetup.exe --devicegroup="AD" --products=antivirus,mdr,intercept,xdr --language=1071 --quiet
goto ende

:AB-Ausleihe
echo Ausleihe
SophosSetup.exe --devicegroup="AB\AB-Ausleihe" --products=antivirus,mdr,intercept,xdr --language=1071 --quiet
goto ende


:ende
exit /b


0

#3 Mitglied ist offline   Manfred89 

  • Gruppe: Mitglieder
  • Beiträge: 2
  • Beigetreten: 20. Juli 23
  • Reputation: 0

geschrieben 20. Juli 2023 - 12:55

Hey,

danke für die schnelle Antwort. Ich finde, ich war gar nicht so verkehrt mit meiner 2. Lösung. Vielen Dank für den Hinweis mit "exist", das ist viel Wert!

Du hast gar nicht :ABCD oben reingebaut. Wird die Anweisung einfach ausgeführt, weil es eh ganz oben steht und ein goto deshalb nicht notwendig ist?
:ABCD ist dann einfach nur für die Übersicht gut oder?


Und erstrecht vielen Dank für das Skript. Ich werde es nächste Woche mal testen! Korrekter Typ!

Dieser Beitrag wurde von Manfred89 bearbeitet: 20. Juli 2023 - 12:56

0

#4 Mitglied ist offline   Shannon 

  • Gruppe: aktive Mitglieder
  • Beiträge: 131
  • Beigetreten: 12. Februar 13
  • Reputation: 11
  • Geschlecht:unbekannt

geschrieben 20. Juli 2023 - 15:45

Korrekt.

Hilfe zu Befehlen und Syntax:
CMD-Fenster öffnen
hilfe <Enter> = Liste aller cmd Befehle
hilfe Befehl, oder Befehl /? = Liste mit Syntax und Optionen des Befehls


Die Syntax ist zum Teil schwer verständlich, aber
Übung macht bekanntlich den Meister.
0

#5 Mitglied ist offline   CaNNoN 

  • Gruppe: aktive Mitglieder
  • Beiträge: 486
  • Beigetreten: 16. November 05
  • Reputation: 78

geschrieben 06. August 2023 - 03:20

ohne eine konkrete hilfe zu sein, aber warum mit batch anfangen und nicht powershell? und wuerde sich das nicht auch via GPO (falls AD/domain) leichter loesen lassen?
0

#6 Mitglied ist offline   Stef4n 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.216
  • Beigetreten: 20. August 18
  • Reputation: 251
  • Geschlecht:Männlich
  • Wohnort:RLP ~Mainz
  • Interessen:pc

geschrieben 06. August 2023 - 19:45

Man liest es ja ja immer in den Foren: Da wollen immer die komplexesten Dinger mit uralten Batch Befehle gelöst werden, obwohl des die Powershell ja nun auch schon seit zig Jahren fest integriert in Windows gibt.
... aber bitte vorher ein Backup machen! ;-)
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0