ローカルマシンの説明(すでに存在する場合は上書き)にコンピューターのモデルを入力したいと思います。このタスクを実行できるスクリプトはありますか?いくつかのコードがあるサイトを見つけましたが、解決策がありません。私はvbスクリプトの知識がほとんどありません。しかし、とにかくこれを行う方法があれば、それは素晴らしいことです。
ありがとう
Active Directoryではなく、ローカルマシン自体でコンピューターの説明を変更しようとしていると仮定すると、Powershellで次のことができます(注:XPクライアント)にPowershellが必要です)。
$computer=get-wmiobject win32_computersystem
Set-ItemProperty -path "HKLM:\SYSTEM\CurrentControlSet\Services\LanManServer\Parameters" -name "srvcomment" -value $computer.model
コンピューターの説明を更新するためのより洗練された方法を探しましたが、実際にはどれも機能しませんでした。レジストリエントリを更新するのが最も簡単な方法のようです。
PowerShellが機能しないと仮定すると、 AutoIT というスクリプト言語を調べることをお勧めします。 AutoItはすべてを自己完結型の実行可能ファイルにコンパイルし、クライアントの依存関係を排除することができます。
CurtMによる優れた回答の肩に立って、私は非PowerShellアプローチを採用しています。ログオンスクリプトからこのスクリプトを呼び出します。
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
小さな変更を加えるだけで、ドメイン内のマシンのリストを処理できます。
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
Dsquery.exeを使用して、ドメイン内のマシンのリストを取得します。出力をsetmodel_r.cmdにパイプすると、モデルが説明として設定されているはずです。コマンドプロンプトから、次のコマンドを発行します。
for /f %b in ('dsquery * domainroot -filter "(objectCategory=computer)" -attr name') do call setmodel_r.cmd %b
ただし、ドメイン全体に対して実行する前に、setmodel_r.cmdをテストすることをお勧めします-
for /f %b in (testcomputers.txt) do call setmodel_r.cmd %b
ここで、testcomputers.txtには複数のマシン名が含まれており、それぞれが新しい行にあります。
あなたは彼らが何をするかに慣れるまでこれらで遊ぶべきです。
ロブ