■ 河北 王春海
編者按:有時(shí)在學(xué)校中,會(huì)面臨一個(gè)問題,怎樣讓每個(gè)學(xué)生快速的將自己打包文件名(以學(xué)生學(xué)號(hào)、姓名為文件名)上傳到服務(wù)器中,又不讓學(xué)生看到他人上傳的文件呢?筆者在經(jīng)過多次實(shí)驗(yàn)之后,用Windows Server中的“共享文件夾”完美的解決了這個(gè)問題。
學(xué)院都經(jīng)常組織學(xué)生進(jìn)行編程比賽,每次都有幾百人參加。比賽時(shí)候每人一臺(tái)計(jì)算機(jī),根據(jù)要求編寫程序。比賽結(jié)束后要求學(xué)生將代碼、編譯運(yùn)行后的程序打包上傳到服務(wù)器。
這就涉及到一個(gè)問題:參賽學(xué)生有幾百人,怎樣讓每個(gè)學(xué)生快速的將自己打包文件名(以學(xué)生學(xué)號(hào)、姓名為文件名)上傳到服務(wù)器中,又不讓學(xué)生看到他人上傳的文件呢?
每到學(xué)期期末,有些老師都會(huì)“隨堂考試”,也是要求學(xué)生將考試內(nèi)容打包上傳到服務(wù)器,因?yàn)殡S堂考試要求比較松,一般都會(huì)準(zhǔn)備一臺(tái)FTP的服務(wù)器,要求每個(gè)學(xué)生使用“匿名FTP用戶”將打包內(nèi)容上傳到FTP服務(wù)器,這樣每個(gè)學(xué)生都能看到他人上傳的文件并且也能下載。但因?yàn)樵陔S堂考試中只是在最后幾分鐘才打開FTP服務(wù)器,學(xué)生最后上傳,所以不存在分帳戶、分目錄的內(nèi)容。
但在比賽中,學(xué)生提交結(jié)果的時(shí)間差距較大。另外從比賽的嚴(yán)密性來說也需要將每個(gè)考生上傳的目錄分開。最初的時(shí)候筆者是想用FTP服務(wù)器來實(shí)現(xiàn),為每個(gè)參賽選手都配置一個(gè)FTP帳戶,但測試了一些FTP服務(wù)器之后,發(fā)現(xiàn)批量創(chuàng)建用戶并且讓每個(gè)用戶指定自己的文件夾實(shí)現(xiàn)起來比較困難。
在經(jīng)過多次實(shí)驗(yàn)之后,筆者用Windows Server中的“共享文件夾”完美的解決了這個(gè)問題?,F(xiàn)在分享出來供有類似需求的讀者朋友參考。
創(chuàng)建多用戶涉及到用戶的密碼,這時(shí)候就需要生成隨機(jī)密碼??梢允褂肊xcel函數(shù)RANDBETWEEN生成隨機(jī)數(shù)用做密碼。
1.將參賽學(xué)生姓名、學(xué)號(hào)整理成文檔,在第三列使用RANDBETWEEN(100000,999999)生成6位數(shù)字,示例文件如圖1所示。然后打印出來,每行裁成條,比賽時(shí)發(fā)給學(xué)生。
圖1 生成的隨機(jī)數(shù)
圖2 用戶名密碼
圖3 禁用復(fù)雜密碼策略
說明:生成隨機(jī)數(shù)之后為了避免下次打開excel后隨機(jī)數(shù)變化,應(yīng)將生成的“隨機(jī)數(shù)”一列復(fù)制到“記事本”中,并從“記事本”中再粘貼回excel文件中。
2.將第2列、第3列復(fù)制并粘貼到“記事本”文件保存成一個(gè)文本文件,文件名隨意,例如可以用c1.txt,如圖2所示。該文件第一列是學(xué)生帳戶,用來創(chuàng)建用戶名,第二列用來設(shè)置密碼。
(3)將第2列復(fù)制并粘貼到“記事本”文件保存成另一個(gè)文本文件,例如c11.txt,這是用來指定用戶權(quán)限、刪除用戶用的。
準(zhǔn)備一臺(tái)Windows Server的服務(wù)器,例如Windows Server 2008 R2,要求具有足夠的空間保存學(xué)生上傳的文件。
1.Windows Server2008R2默認(rèn)使用“復(fù)雜密碼”,但比賽中為用戶設(shè)置的是數(shù)字的簡單密碼,需要修改密碼策略。執(zhí)行g(shù)pedit.msc進(jìn) 入“本地組策略編輯器”,定位到“計(jì)算機(jī)配置→Windows設(shè)置→安全設(shè)置→帳戶策略→密碼策略”,修改“密碼必須符合復(fù)雜性要求”為“已禁用”,如圖3所示。
2.批寫如下的批處理,內(nèi)容如下:
REM 創(chuàng)建帳戶,密碼隨機(jī),將JN2017C創(chuàng)建為共享文件夾,允許Everyone完全控制
REM考生批處理,在服務(wù)器D盤創(chuàng)建JN2017C文件夾,每個(gè)考生一個(gè)文件夾
MD D:JN2017C
圖4 創(chuàng)建文件夾、創(chuàng)建用戶、配置文件夾權(quán)限
圖5 創(chuàng)建的文件夾
REM將JN2017C創(chuàng)建為共享文件夾
net share JN2017C=D:JN2017C /grant:everyone,full
REM 設(shè)置共享文件夾權(quán)限,允許Everyone和Administrator完全控制
echoy|caclsD:JN2017C/geveryone:fadministrator:f
REM 從C1.txt讀取內(nèi)容創(chuàng)建用戶(文件第1列)并指定密碼(第2列)
for/f"delims=,"%%ain(c1.txt)donetuser%%a/add/passwordreq:no/passwordchg:no/expires:never
REM 從C11.txt讀取內(nèi)容并在JN2017C創(chuàng)建同名的目錄
for/f"delims=,"%%bin(c11.txt)doMDD:JN2017C\%%b
REM 為每個(gè)用戶目錄設(shè)置權(quán)限,允許Administrator和同名用戶完全控制
for/f"delims=,"%%cin(c11.txt)doechoy|caclsD:JN2017C\%%c/g%%c:fadministrator:f
pause
將這個(gè)文件保存為“創(chuàng)建用戶.cmd”,在服務(wù)器中執(zhí)行,運(yùn)行界面如圖4所示。
3.創(chuàng)建完成后打開D盤看到創(chuàng)建的文件夾,如圖5所示。
4.打開“服務(wù)器管理器”在“配置→本地用戶和組→用戶”中看到創(chuàng)建的用戶,如圖6所示。
為學(xué)生上傳文件寫一個(gè)說明文檔,示例內(nèi)容如下。
1.文件打包:在本次比賽中,同學(xué)們需要將做好的“工程文件夾”打包上傳到機(jī)房的服務(wù)器中。本次比賽一共5道試題,每個(gè)試題一個(gè)工程文件夾,每一個(gè)文件夾用winrar壓縮打包后,依次重命名為“學(xué)號(hào)A.rar”、 “學(xué)號(hào) B.rar”、 “學(xué)號(hào) C.rar”、 “學(xué)號(hào) D. rar”、“學(xué)號(hào)E.rar”。
2.映射驅(qū)動(dòng)器
文件上傳服務(wù)器的IP地址地址是172.18.96.8,共享文件夾名稱為JN2017C。上傳命令格式為:
net use x: \服務(wù)器IP地址共享名學(xué)員/user:學(xué)號(hào) 密碼
從“開始”菜單選擇“所有程序→附件→命令提示符”,進(jìn)入命令提示符,執(zhí)行如下命令:
圖6 創(chuàng)建的用戶
圖7 拷貝文件到指定目錄
例 如,學(xué) 號(hào) 是201412345678,密 碼 是234567,則需要輸入:
netusex:\172.18.96.8JN2017C201622450411/user:201622450411 234567
注意需要使用英文輸入,不要使用中文方式輸入。
3.拷貝文件到指定文件夾
打開“資源管理器,將第1步的文件拷貝到X盤即可,如圖7所示。
服務(wù)器的地址172.18.96.8,學(xué)生將比賽文件拷貝到此服務(wù)器,在比賽結(jié)束后,老師可以在服務(wù)器前查看D盤JN2017C文件夾即可看到每個(gè)學(xué)生以學(xué)號(hào)為文件夾的目錄(如圖5所示)。教師也可以在網(wǎng)絡(luò)上任意一臺(tái)計(jì)算機(jī)中,通過使用Administrator帳戶映射共享文件夾查看共享目錄(其 中password是Administrator帳戶的密碼)。
netusex:\172.18.96.8jn2017c/user:administratorpassword
然后打開資源管理器,從X盤拷貝數(shù)據(jù)即可。
比賽完成后,如果要?jiǎng)h除用戶,可以編寫如下的批處理并執(zhí)行:
REM 刪除用戶批處理
for/f"delims=,"%%ain(c11.txt)donetuser%%a/delete
pause
執(zhí)行該命令后將刪除用戶。