Verificação em lote do Windows 8.1 se o computador fizer parte de um grupo de trabalho e alterar, se necessário

0

Eu tenho SYSTEMINFO | FIND / I "DOMAIN:", que é exibido se fizer parte de um domínio ou grupo de trabalho. Mas eu estou tentando descobrir como tirar o resultado disso e se é algo diferente de Company.LLC para ir para: JoinWorkgroup. Eu imagino que deve ser algo como isto:

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

Eu posso obter IF NOT EXIST para trabalhar com diretórios, mas não consigo descobrir como vinculá-lo aos resultados dos utilitários de prompt.

    
por Sandfrog 09.02.2015 / 18:50

1 resposta

0

Para a primeira olhada, inicie o próximo comando a partir da linha de comando:

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

Para usar em um script em lote, dobre o sinal de porcentagem % : altere %G para %%G e %H para %%H . Em seguida, um snippet de código aplicável no seu script em lote poderia ter a seguinte aparência (reter o espaçamento entre linhas, por favor):

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
)

ou, se você preferir uma solução sem nenhuma variável auxiliar:

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

Editar (embora aceito): use %%~H com o modificador de argumento ~ para remover as cotações circunvizinhas ( " ), se houver.

Recurso:

por 11.02.2015 / 00:12