Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops 使用批处理脚本和csv将本地管理员帐户添加到设备_Loops_Batch File_Csv_Cmd - Fatal编程技术网

Loops 使用批处理脚本和csv将本地管理员帐户添加到设备

Loops 使用批处理脚本和csv将本地管理员帐户添加到设备,loops,batch-file,csv,cmd,Loops,Batch File,Csv,Cmd,我陷入了困境,不知是否有人能帮忙。我在一所学校工作,在这所学校里,我们在年初将新的笔记本电脑分配到新的一年级别 我需要做的是给每个学生分配一台笔记本电脑的本地管理员权限 我目前有一个csv文件,它有两列。一个是学生用户名,第二个是服务器上的笔记本设备名称 eg. jdoe1,device001 jdoe2,device002 我想做的是自动添加每个设备的本地管理员帐户,方法是让批处理脚本提取每行上的名称,并将它们添加为分配的设备的本地管理员 eg. script finds the u

我陷入了困境,不知是否有人能帮忙。我在一所学校工作,在这所学校里,我们在年初将新的笔记本电脑分配到新的一年级别

我需要做的是给每个学生分配一台笔记本电脑的本地管理员权限

我目前有一个csv文件,它有两列。一个是学生用户名,第二个是服务器上的笔记本设备名称

eg. jdoe1,device001
    jdoe2,device002
我想做的是自动添加每个设备的本地管理员帐户,方法是让批处理脚本提取每行上的名称,并将它们添加为分配的设备的本地管理员

eg. script finds the username jdoe1, then sees device001. 
    It then creates a local account called jdoe1 
    (which is pulled from the active directory on our server) 
    on the laptop device001.
    The script then moves to the next row and starts the process again.
这就是我目前所拥有的。这将提取名称和设备名称并执行需要执行的操作,但是如果有多行名称,它将只处理最后一行,我需要它分别执行每一行。脚本还会更改设备的描述,以包括学生用户名和设备名称

(请注意,这很混乱,因为我对批处理脚本非常陌生)

*根据需要更换。对于每个新用户名,我需要能够查看用户名和分配给它的pc,以便确认详细信息(it部门负责人的要求)

这能做到吗??请帮忙

谢谢你

@echo off
setlocal enabledelayedexpansion
echo.
echo The following script will assign a student to a laptop, giving the student
echo Administration rights to the laptop and set the laptop description.
echo.
echo.
echo.
pause
cls
FOR /F "tokens=1,2 delims=, " %%a in (data.csv) DO (
set user=%%a
set LaptopID=%%b
set desc= CFS - Mobile Student - %%b - %%a
echo.
echo Please enter Admin Username
set /p adminusr=
cls
echo.
echo Please enter Admin Password (make sure noone is looking as password is displayed)
set /p adminpw=
cls
echo.
echo Now creating local admin account for %%a on %%b
echo.
echo Description: !desc!
echo.
pause
***\psexec \\%LaptopID% -u ***\!adminusr! -p !adminpw! -n 20 -e net localgroup Administrators "***\%%a" /add
***\psexec \\%LaptopID% -u ***\!adminusr! -p !adminpw! -n 20 -e net config server /srvcomment:"!desc!"
pause
)
这会让你离开地面。我不知道你想用什么来代替
***

请注意,
@echo off
设置命令echo off,直到遇到
echo on
为止
@
在命令执行前抑制单个命令的回音

setlocal enabledelayedexpansion
设置一种模式,在该模式下,
可以访问块中的变量(括号内的[multiline]语句序列)!瓦尔
以获取当前值<代码>%var%将在调用块的命令被解析时(执行前)获取变量的值

你不会说你是否想对每个创建的帐户应用相同的管理员帐户和密码。以上内容每次都应同时要求。下面应该允许一个条目,然后将其应用于
.csv

@echo off
setlocal enabledelayedexpansion
echo.
echo The following script will assign a student to a laptop, giving the student
echo Administration rights to the laptop and set the laptop description.
echo.
echo.
echo.
pause
cls
echo.
echo Please enter Admin Username
set /p adminusr=
cls
echo.
echo Please enter Admin Password (make sure noone is looking as password is displayed)
set /p adminpw=
cls
echo.
FOR /F "tokens=1,2 delims=, " %%a in (data.csv) DO (
set user=%%a
set LaptopID=%%b
set desc= CFS - Mobile Student - %%b - %%a
echo Now creating local admin account for %%a on %%b
echo.
echo Description: !desc!
echo.
pause
***\psexec \\%LaptopID% -u ***\!adminusr! -p !adminpw! -n 20 -e net localgroup Administrators "***\%%a" /add
***\psexec \\%LaptopID% -u ***\!adminusr! -p !adminpw! -n 20 -e net config server /srvcomment:"!desc!"
pause
)
我强烈建议您使用前缀
ECHO
you您的…psexec。。。行,以查看结果脚本在提交之前将执行的操作

不知道你所说的
***
是什么意思

这会让你离开地面。我不知道你想用什么来代替
***

请注意,
@echo off
设置命令echo off,直到遇到
echo on
为止
@
在命令执行前抑制单个命令的回音

setlocal enabledelayedexpansion
设置一种模式,在该模式下,
可以访问块中的变量(括号内的[multiline]语句序列)!瓦尔
以获取当前值<代码>%var%将在调用块的命令被解析时(执行前)获取变量的值

你不会说你是否想对每个创建的帐户应用相同的管理员帐户和密码。以上内容每次都应同时要求。下面应该允许一个条目,然后将其应用于
.csv

@echo off
setlocal enabledelayedexpansion
echo.
echo The following script will assign a student to a laptop, giving the student
echo Administration rights to the laptop and set the laptop description.
echo.
echo.
echo.
pause
cls
echo.
echo Please enter Admin Username
set /p adminusr=
cls
echo.
echo Please enter Admin Password (make sure noone is looking as password is displayed)
set /p adminpw=
cls
echo.
FOR /F "tokens=1,2 delims=, " %%a in (data.csv) DO (
set user=%%a
set LaptopID=%%b
set desc= CFS - Mobile Student - %%b - %%a
echo Now creating local admin account for %%a on %%b
echo.
echo Description: !desc!
echo.
pause
***\psexec \\%LaptopID% -u ***\!adminusr! -p !adminpw! -n 20 -e net localgroup Administrators "***\%%a" /add
***\psexec \\%LaptopID% -u ***\!adminusr! -p !adminpw! -n 20 -e net config server /srvcomment:"!desc!"
pause
)
我强烈建议您使用前缀
ECHO
you您的…psexec。。。行,以查看结果脚本在提交之前将执行的操作


不知道你所说的
***
..

对不起,***只是学校的文件夹/服务器/地区名称。是的,很抱歉,我确实希望所有条目都使用相同的用户名和密码,但是此代码不起作用。似乎它没有回升!管理员!在psexec中,它拒绝访问pc。此外,psexec会弹出并向您显示它正在执行的操作,因此不需要回显。请确认我已使用了您编辑的代码,我已能够使其按我希望的方式工作!我明天上班时会发布相应的代码(因为这个lol回家已经很晚了),谢谢你,对不起,***只是学校的文件夹/服务器/地区名称。是的,很抱歉,我确实希望所有条目都使用相同的用户名和密码,但是此代码不起作用。似乎它没有回升!管理员!在psexec中,它拒绝访问pc。此外,psexec会弹出并向您显示它正在执行的操作,因此不需要回显。请确认我已使用了您编辑的代码,我已能够使其按我希望的方式工作!我明天上班时会发布相应的代码(因为这个lol回家已经很晚了),谢谢