私は、フィールド サービス技術者がプライベート ワークステーション OU 内のコンピューターをチーム ワークステーション OU に、またはその逆に変換できるようにする、私が勤務する会社向けのスクリプトのパッケージ化に取り組んでいます。
それは今のところこのスクリプトのほんの一部であり、1 日のほとんどの間、私を困惑させてきました。このスクリプトのさまざまなバリエーションを試してみたところ、正しい軌道に乗ると思われるスクリプトにたどり着きました。
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select Name from Win32_ComputerSystem",,48)
For Each objItem in colItems
strPCName = objItem.Name
Next
Set objNewOU = GetObject("LDAP://OU=Computers,OU=Corporate,DC=xxxxx,DC=net")
Set objMoveComputer = objNewOU.MoveHere("LDAP://CN=" & strPCName & ",OU=Computers,OU=Corporate,DC=xxxxx,DC=net",vbnullstring)
サーバー上にそのようなオブジェクトはありませんというエラーが表示されます。問題の OU にコンピューターを手動で配置すると、そのエラー メッセージが表示されません。これは私が現時点で立ち往生しているところです。
スクリプトは現在、私の個人的な研究室にあります。