下面的代码可以在我的所有计算机上工作,但只有少数计算机才能获得可分辨的名称。
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"
我正在研究一台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"
有趣的是,如果不包括像这样的/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
有什么好主意吗?
发布于 2013-09-04 21:01:09
好了!我将该部分从脚本中删除,并忘记删除“%”,因此应该是%I而不是%i,这就是为什么没有返回任何内容。
发布于 2013-09-04 21:51:44
FOR /F "tokens=2*" %%I in ('reg query "hklm\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine" /v Distinguished-Name^|find "REG_SZ"') DO ECHO "%%J"
这适用于所有Windows版本。
https://stackoverflow.com/questions/18623556
复制相似问题