Script para preencher a descrição do computador para o windows xp e win7

2

Eu desejo preencher a descrição da máquina local (sobrescrever se já estiver presente) com o Modelo do computador. Existe algum tipo de script que pode executar essa tarefa para mim? Eu encontrei um site que tem algum código, mas eles não têm uma solução. Eu tenho muito pouco conhecimento de script vb. mas se houver alguma maneira de fazer isso seria ótimo.

Obrigado

    
por JohnyV 24.11.2010 / 00:46

2 respostas

1

Supondo que você queira alterar a descrição do computador na própria máquina local, e não no Active Directory - você pode fazer o seguinte com o Powershell (observação: você precisará do powershell em seus clientes XP).

$computer=get-wmiobject win32_computersystem
Set-ItemProperty -path "HKLM:\SYSTEM\CurrentControlSet\Services\LanManServer\Parameters" -name "srvcomment" -value $computer.model

Eu procurei por métodos mais elegantes para atualizar a descrição do computador, mas nenhum deles realmente funcionou. A atualização da entrada do registro parecia ser o método mais fácil.

Assumindo que o powershell não funciona, você pode querer olhar para uma linguagem de script chamada AutoIT . AutoIt pode compilar tudo em um executável independente e eliminar dependências do cliente.

    
por 24.11.2010 / 06:56
1

De pé sobre os ombros da excelente resposta de CurtM, eu tenho uma abordagem não-powershell. Chame esse script de um script de logon:

setmodel.cmd

@for /f " skip=1 tokens=1 delims=^|" %%a in ('wmic.exe path win32_computersystem get model' ) do set model=%%a 

@reg add HKLM\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters /v srvcomment /t reg_sz /d "%model%" /f

Com pequenas modificações, você pode processar uma lista de máquinas no domínio:

setmodel_r.cmd

@for /f " skip=1 tokens=1 delims=^|" %%i in ('wmic.exe /node:%1 path win32_computersystem get model' ) do set model=%%i

@reg add \%1\HKLM\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters /v srvcomment /t reg_sz /d "%model%" /f

Obtenha uma lista de máquinas no domínio usando o dsquery.exe. Canalize a saída para setmodel_r.cmd e você deve ter seu modelo definido como a descrição. Em um prompt de comando, emita o comando:

for /f %b in ('dsquery * domainroot -filter "(objectCategory=computer)" -attr name') do call setmodel_r.cmd %b

Mas, você pode querer testar o setmodel_r.cmd antes de executá-lo em todo o seu domínio-

for /f %b in (testcomputers.txt) do call setmodel_r.cmd %b

em que testcomputers.txt contém vários nomes de máquinas, cada um em uma nova linha.

Você deve brincar com eles até se sentir confortável com o que eles fazem.

Rob

    
por 30.11.2010 / 01:25