我正在编写从服务器 2008 到服务器 2008 R2 的用户迁移脚本。我已经编写了大部分脚本,但是我在检索用户注册表导出的 SID 时遇到了困难。到目前为止,我有:
for /f "tokens=1" %%B IN (D:\users\$userprofile%\desktop\user.txt) do SET userx=%%B
echo %userx%
for /f "skip=2 tokens=2 delims=," %%A in ('WMIC useraccount WHERE name='%userx%' get
sid /format:csv') DO SET usersid=%%A
echo %usersid%
我目前正在测试这个部分,所以 user.txt 只包含我的名字,但 .txt 稍后将填充要迁移的用户。目前代码返回
dgibbons - Invalid alias verb.
WMIC 命令工作得很好。对无效别名动词错误的搜索都指向 name = 后面的空格(如 name='%userx%')。删除变量(将 WMIC cmd 留在 for 循环中)并插入我的用户名仍然返回相同的错误。我也尝试过使用双引号、单引号和无引号,每个都返回相同的错误。似乎问题是for循环在用户名之前创建了一个空格;无论如何,这就是我的看法。任何人都知道如何使代码工作?