如何将DSQuery脚本添加到Excel?


1

我必须用家庭用户号码等更新AD。我已经编写了脚本并将用户名和电话号码导入Excel

脚本:

dsquery user -samid "username" "OU=Sys,OU=Prod Services,DC=win,DC=ite,DC=com" | dsmod user -mobile  "999" -hometel -u XXXXXX -p XXXXXXXXX

在Excel中:A1 =用户名B1 =编号

如何使上面的脚本起作用,以便它从Excel中获取用户名和数字并将其放入批处理文件中?


6
为什么不为此使用PowerShell?有出色的cmdlet准备就绪,可以完成您要查找的内容(具有CSV导入/导出功能的Get-ADUser和Set-ADuser)
pauska 2014年

1
正是@pauska所说的。您绝对应该为此使用PowerShell,而不是ds工具。
MDMarra 2014年

Answers:


7

好的,这肯定是在IT工程学院那肮脏的学校里,但是我们都做到了,实际上,Excel在这方面非常方便。我确实同意@Pauska的观点,不过Powershell和CSV是前进的方向。

无论如何,最快,最简单的方法是将Excel工作表组织如下:

     Cell A        Cell B       Cell C
  +------------+------------+------------+
1 +  Username  +  Telephone +     Fax    +
  +------------+------------+------------+
2 +   User1    +123456789012+987643210987+

等等。然后,在D列的第2行上,创建一个公式,该公式使用串联来构建您自己的命令行,并以以下几行结尾:

="dsquery user -samid '" & A2 & "' 'OU=Sys,OU=Prod Services,DC=win,DC=ite,DC=com' | dsmod user -mobile '" & B2 & "'"

然后,您可以选择整个列,将其复制并粘贴到记事本和voila(批处理文件)中,这将满足您的需要。


试图单击向下箭头以防止其弄脏。它虽然
很脏

我在使用excel时没有用,我应该在公式的哪里输入-我突出显示第一个单元格user1并将其拖到cellC传真上,然后向下拖到文件末尾?因此,我应该在哪里输入查询内容,所以请您多多包涵。
JJJJNR 2014年

1
@JJJJNR您无需单击并拖动任何内容,只需将公式放在单元格D2中(基于我的图)。不过,您需要进一步调整公式以使其适合您。然后,单击D2右下角的小方块,然后向下拖动。该公式将自动更新每一行。除此之外,您确实需要学习如何使用Excel来使上述工作正常进行。

我的excel损坏了,尽管它已在更新工具中选择了它,但它不会自动更新每一行,感谢您的帮助。
JJJJNR 2014年

1
有用!仅供参考,这就是我最后使用的dsqury:dsquery用户-samid用户名| dsmod用户-mobile xxxxxxx插入数字时不要在数字中放置任何空格,并且您只需要在excel单元格的一侧设置一组感叹号,也不
要将
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.