Windows 8.1-Stapelüberprüfung, ob der Computer Teil einer Arbeitsgruppe ist, und bei Bedarf geändert

874
Sandfrog

Ich habe SYSTEMINFO | FIND / I "DOMAIN:" zeigt an, ob es Teil einer Domäne oder Arbeitsgruppe ist. Aber ich versuche herauszufinden, wie man das Ergebnis davon nehmen kann und ob es etwas anderes als Company.LLC ist: JoinWorkgroup. Ich könnte mir vorstellen, dass es ungefähr so ​​aussehen sollte:

IF SYSTEMINFO | FIND /I "DOMAIN:" NOT = "Company.LLC" THEN GOTO :JoinWorkgroup IF SYSTEMINFO | FIND /I "DOMAIN:" = "Company.LLC" THEN GOTO :NextVerification 

Ich kann IF NOT EXIST dazu bringen, mit Verzeichnissen zu arbeiten, kann aber nicht herausfinden, wie ich es in Ergebnisse von Eingabeaufforderungsprogrammen einbinden kann.

0
Sind Sie auf Batchdateien beschränkt? Wenn nicht, würde ich empfehlen, stattdessen mit PowerShell zu gehen. Am Ende erhalten Sie sauberere Dateien und es ist einfacher, der Logik zu folgen. Thor vor 9 Jahren 0
Ja, irgendwie bin ich. Ich habe eine "ausgefeilte" Charge, die eine Reihe von Aufgaben in der richtigen Reihenfolge erledigt. Das Aufrufen eines Powershell-Skripts kann einige Probleme verursachen. Danke für die Antwort! Sandfrog vor 9 Jahren 0

1 Antwort auf die Frage

0
JosefZ

Starten Sie für den ersten Blick den nächsten Befehl über die Befehlszeile:

for /F "tokens=1*" %G in ('SYSTEMINFO ^| FIND /I "DOMAIN:"') do @echo %G %H 

Zur Verwendung in einem Batch - Skript doppelte Prozentzeichen %: Änderung %Gauf %%Gund %Hzu %%H. Ein gültiges Code-Snippet in Ihrem Batch-Skript könnte dann wie folgt aussehen (bitte Zeilenabstand einhalten):

set "sDomain=WORKGROUP" for /F "tokens=1*" %%G in ('SYSTEMINFO ^| FIND /I "DOMAIN:"') do set "sDomain=%%~H" IF "%sDomain%"=="Company.LLC" ( GOTO :NextVerification  ) ELSE ( GOTO :JoinWorkgroup ) 

oder, wenn Sie eine Lösung ohne Hilfsvariable bevorzugen würden:

for /F "tokens=1*" %%G in ('SYSTEMINFO ^| FIND /I "DOMAIN:"') do (  IF "%%~H"=="Company.LLC" ( GOTO :NextVerification  ) ELSE ( GOTO :JoinWorkgroup ) ) 

Bearbeiten (obwohl akzeptiert): Verwenden Sie %%~Hden ~ Argument-Modifizierer, um "eventuell vorhandene Anführungszeichen ( ) zu entfernen .

Ressource:

Großartig gearbeitet Und danke für die durchdachte Antwort und Resource! Sandfrog vor 9 Jahren 0