Lote do Windows 8.1, verificando se o computador faz parte de um grupo de trabalho e alterando, se necessário

0

Eu tenho SYSTEMINFO | ENCONTRE / I "DOMÍNIO:" que é exibido se fizer parte de um domínio ou grupo de trabalho. Mas estou tentando descobrir como obter o resultado disso e se é algo diferente de Company.LLC para ir para: JoinWorkgroup. Eu imaginaria que deveria 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

Posso fazer com que o NOT NOT EXIST trabalhe com diretórios, mas não consigo descobrir como vinculá-lo aos resultados dos utilitários imediatos.

Sandfrog
fonte
Você está confinado a arquivos em lote? Caso contrário, recomendo usar o PowerShell. Você terminará com arquivos mais limpos e será mais fácil seguir a lógica.
Thor
Sim, mais ou menos. Eu tenho um lote "sofisticado" que faz várias coisas em ordem. Chamar um script do PowerShell pode apresentar alguns problemas. Obrigado pela resposta!
Sandfrog

Respostas:

0

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

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

Para uso em um script em lote, dobro do sinal de porcentagem %: mude %Gpara %%Ge %Hpara %%H. Em seguida, um snippet de código aplicável em seu script em lote pode ter a seguinte aparência (mantenha 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 %%~Hcom o ~ modificador de argumento para remover aspas circundantes ( "), se houver.

Recurso:

JosefZ
fonte
Trabalhou muito bem! E obrigado pela resposta e pelo recurso pensados!
Sandfrog