識別名を取得する次のコードは、一部のコンピューターを除くすべてのコンピューターで機能します。
FOR /F "skip=2 tokens=3*" %%I in ('reg query "hklm\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine" /v Distinguished-Name') DO @ECHO "%%I %%J"
私はこれを示している 1 台の XP マシンを調べており、以下のような代替手段を試してみましたが、役に立ちませんでした。
FOR /F "tokens=3*" %%I in ('reg query "hklm\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine" /v Distinguished-Name |findstr "CN="') DO ECHO "%%I %%J"
興味深いことに、次のように for /f を含めなくても、問題なく結果が得られます。
reg query "hklm\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine" /v Distinguished-Name |findstr "CN="
Distinguished-Name REG_SZ CN=xyz123,OU=Test-5,DC=test,DC=com
また
reg query "hklm\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine" /v Distinguished-Name
! REG.EXE VERSION 3.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine
Distinguished-Name REG_SZ CN=xyz123,OU=Test-5,DC=test,DC=com
ここで何が起こっているのでしょうか?