在win2003域組策略中實(shí)現(xiàn)映射網(wǎng)絡(luò)驅(qū)動(dòng)器
在域組策略中實(shí)現(xiàn)映射網(wǎng)絡(luò)驅(qū)動(dòng)器一、把下面代碼復(fù)制到記事本中,并保存文件名為“l(fā)ogon.vbs”Set WshNetwork = WScript.CreateObject("WScript.Netwo
在域組策略中實(shí)現(xiàn)映射網(wǎng)絡(luò)驅(qū)動(dòng)器
一、把下面代碼復(fù)制到記事本中,并保存文件名為“l(fā)ogon.vbs”
Set WshNetwork = WScript.CreateObject("WScript.Network")
set wshshell=WScript.CreateObject("WScript.shell")
WScript.sleep 3000
WshNetwork.MapNetworkDrive "z:","X.X.X.XXXXX"
二、在AD 用戶和計(jì)算機(jī)中的域名上右擊,選擇屬性。
三、在彈出的窗口中選擇組策略選項(xiàng)卡——點(diǎn)擊編輯按鈕——在跳出的默認(rèn)域策略窗口中選擇用戶配置——Windows 設(shè)置——腳本(登陸/注銷(xiāo))——登陸屬性——點(diǎn)擊顯示文件按鈕,把logon.vbs 復(fù)制到彈出的文件夾中——點(diǎn)擊添加按鈕——點(diǎn)擊瀏覽按鈕把剛才復(fù)制的logon.vbs 腳本文件添加進(jìn)去——點(diǎn)擊確定按鈕。
添加共享打印機(jī)
Set WshNetwork = WScript.CreateObject("WScript.Network")
Wshnetwork.addWindowsPrinterConnection "pc-hp1020"
Wshnetwork.SetDefaultpritner "pc-hp1020"
自動(dòng)映射網(wǎng)絡(luò)驅(qū)動(dòng)器:
Set WshNetwork = WScript.CreateObject("WScript.Network")
WshNetwrok.RemoveNetworkDrive "z"
WshNetwork.MapNetworkDrive "z:","X.X.X.XXXXX"
@echo off
color f2
mode con cols=71 lines=10
echo **********************************************************************
echo ********將添加網(wǎng)絡(luò)驅(qū)動(dòng)器到本地倒數(shù)第一個(gè)可用盤(pán)符(一般為
Z :)***********
echo **********************************************************************
echo
@echo off
net use * Servershare P@ssw0rd /user:Domainsharer /PERSISTENT:no
net use x: servernamesharename /y
刪除用:
net use x: /d
,net usr z: 2.168.2.1mcse passwoed /user:username
可以通過(guò)下面的方法來(lái)實(shí)現(xiàn):
1、首先在域中建立一個(gè)文件服務(wù)器,然后在該文件服務(wù)器上創(chuàng)建一個(gè)共享文件夾,然后為每個(gè)域賬號(hào)設(shè)置不同的NTFS 權(quán)限和共享權(quán)限,比如賬號(hào)A 只有查看的權(quán)限,賬號(hào)B 擁有寫(xiě)的權(quán)限;
2、在客戶端client1上使用域賬號(hào)A 登錄,右鍵點(diǎn)擊我的電腦,選擇映射網(wǎng)絡(luò)驅(qū)動(dòng)器,指定驅(qū)動(dòng)器的名稱(chēng),然后點(diǎn)擊瀏覽,查找文件服務(wù)器和共享文件夾,請(qǐng)選中登錄時(shí)重新連接。
3、點(diǎn)擊完成。
4、在客戶端client2上使用域賬號(hào)B 登錄,按照上述的方法建立到文件夾服務(wù)器的共享文件夾的映射驅(qū)動(dòng)器;
5、這樣就可以實(shí)現(xiàn)賬號(hào)A 和賬號(hào)B 登錄后就可以看到網(wǎng)絡(luò)驅(qū)動(dòng)器,并且擁有不同的權(quán)限。
如何為一個(gè)域用戶設(shè)置登陸腳本?
- BAT可否作為登陸腳本?
- 在域用戶“屬性”中,應(yīng)如何指定登陸腳本名?"D:x.bat"還是"srvx.bat"?還是其它?
- 腳本應(yīng)該放在何處?
1、bat 可以作為登陸腳本執(zhí)行,確切說(shuō)一切可以在windows 平臺(tái)執(zhí)行的東西都可以作為登陸腳本來(lái)用。
2、應(yīng)該指定以server……這樣格式開(kāi)頭的路徑。因?yàn)閏lient 在登陸的時(shí)候執(zhí)行腳本,其實(shí)是從服務(wù)器上下載到本地,然后執(zhí)行。這樣的話,如果指定c:這樣的路徑,client 只會(huì)在本地的c 盤(pán)查找,而不是到server 上的路徑去查找。
3、腳本可以放在一切client 能夠讀取的位置。通常這個(gè)位置處于servernetlogon的share 下(在服務(wù)器上的位置
是systemrootsysvolsysvoldomainnamescripts),但是如果你制訂了策略,那么腳本默認(rèn)的存放路徑應(yīng)該
在systemrootsysvolsysvoldomainnamepoliciesguiduser(machine)scripts 下,如果你放在別的位置,需要在腳本執(zhí)行欄的位置輸入絕對(duì)路徑,格式同樣需要以server……開(kāi)頭。
4、其他的問(wèn)題也很多了,一般來(lái)說(shuō)就是腳本適用于策略的時(shí)候,客戶端可能會(huì)執(zhí)行不到。
一般來(lái)說(shuō)可能會(huì)有一下的幾個(gè)原因:
a 、腳本從名稱(chēng)到內(nèi)容都盡可能的不要用特殊字符、長(zhǎng)文件名(超過(guò)8個(gè)字符)、空格,比如&等。這樣的腳本在不同的os 上可能執(zhí)行會(huì)有問(wèn)題。
b 、腳本存放的位置和路徑,請(qǐng)遵照上面的原則來(lái)做。
c 、腳本的編寫(xiě)方面。特別是適用net use 來(lái)map 一個(gè)fileserver 上的路徑。有可能在登陸之前,client 上已經(jīng)有網(wǎng)絡(luò)盤(pán)的映射,如果恰好和你map 的盤(pán)符一樣,將有可能導(dǎo)致腳本執(zhí)行失敗,你可以在腳本的最前面加一句net use * /d /y來(lái)解
,決這個(gè)問(wèn)題。
不過(guò)這個(gè)命令要慎用,在實(shí)際生產(chǎn)環(huán)境中,如果你的fileserver 是非wintel 平臺(tái)的storage ,響應(yīng)時(shí)間較長(zhǎng),那么可能導(dǎo)致用戶重新登陸時(shí),無(wú)法連接fileserver 上的sharefolder ,可以用一句if exist來(lái)判斷網(wǎng)絡(luò)盤(pán)是否存在。
另外一個(gè)方面,如果遠(yuǎn)程設(shè)備是一些跨平臺(tái)的存儲(chǔ)設(shè)備,比如一些nas 、san 等,map 到windows 平臺(tái)的時(shí)候可能會(huì)提示“網(wǎng)絡(luò)路徑無(wú)法連接”等問(wèn)題,可以相互更換map server_netbios_name或者map server_ipaddress兩種方式來(lái)嘗試連接。
如果遇到權(quán)限問(wèn)題,那么按照共享權(quán)限和安全權(quán)限沖突時(shí)取最小值的原則,一般來(lái)講可以將共享權(quán)限設(shè)置為full control,然后安全權(quán)限做嚴(yán)格設(shè)定的辦法來(lái)解決。
d 、關(guān)于策略的執(zhí)行順序是本機(jī)、站點(diǎn)、域、ou 、子ou 。如果有設(shè)置上的重復(fù),按照?qǐng)?zhí)行的順序,后面的設(shè)置將會(huì)覆蓋前面的設(shè)置。
如果在ou 上設(shè)置“block policy inheritance”,那么上層的策略將不會(huì)在這一層獲得執(zhí)行。
如果在ou 上設(shè)置“No override”,那么這一層將不會(huì)被后面的策略設(shè)置覆蓋,也就是說(shuō)即使后面有相同的設(shè)置,仍然以這一層的設(shè)置為準(zhǔn)。
如果在ou 上設(shè)置“disabled”,那么這個(gè)策略將會(huì)被禁止執(zhí)行。
如果在策略的properties security上取消了對(duì)應(yīng)的組的read 和apply group policy ,那么對(duì)應(yīng)的組將會(huì)無(wú)法應(yīng)用到策略。通常默認(rèn)被應(yīng)用的組有
authenticated user。
如果你取消了該組的兩個(gè)權(quán)限,然后add 其他組,同樣賦予read 和apply group policy 的話,此策略將只會(huì)被該組執(zhí)行到,這也就是所謂的filter 。
如果你的域中有多臺(tái)dc ,可能需要在dssite.msc 中手動(dòng)同步它們。
你也可以在服務(wù)器上使用secedit /refreshpolicy user_policy(machine_policy) /enforce 來(lái)強(qiáng)制刷新策略
這樣的辦法同樣適用于client 。
e 、執(zhí)行的腳本,可以放在computer configuration和user configuration中執(zhí)行。 對(duì)于user ,通??梢苑胖酶挠脩魧傩缘臇|西。
對(duì)于computer ,通??梢苑胖酶挠?jì)算機(jī)屬性的東西。
這兩個(gè)沒(méi)有絕對(duì)界限,但通常登陸的時(shí)候,都屬于domain users成員,這樣如果需要更改注冊(cè)表或系統(tǒng)文件之類(lèi)的,可能會(huì)遇到權(quán)限問(wèn)題,那么我們也可以把這樣的腳本放在computer 中,這樣可以在user 登陸之前獲得執(zhí)行。
(這里順帶說(shuō)一句:大家很少用到計(jì)算機(jī)賬戶吧,那么計(jì)算機(jī)賬戶的作用在這里可以得到體現(xiàn),由于此時(shí)還沒(méi)有用戶賬戶驗(yàn)證,計(jì)算機(jī)賬戶和dc 的驗(yàn)證有一方面來(lái)源于本地計(jì)算機(jī)賬戶和dc 之間保持一個(gè)密碼同步,以便于在這種特殊的情況下獲得驗(yàn)證,該密碼默認(rèn)30天變更一次。
你甚至可以在sharefolder 上添加計(jì)算機(jī)賬戶的權(quán)限:)如果由于dns 對(duì)應(yīng)或者其他的一些原因,導(dǎo)致這個(gè)密碼無(wú)法同步,dc 將會(huì)無(wú)法驗(yàn)證該計(jì)算機(jī)賬戶,這可能會(huì)導(dǎo)致計(jì)算機(jī)登陸腳本無(wú)法執(zhí)行。在dc 的日志上一般都會(huì)給出一個(gè)錯(cuò)誤提示,ComputerNetbiosName$無(wú)法存取。解決的辦法,可以通過(guò)在客戶端上執(zhí)行
,netdom 重置該信任關(guān)系,這是另話了。)
對(duì)于user 的設(shè)定,只需要登出然后登入即可獲得腳本的應(yīng)用。
對(duì)于computer 的設(shè)定,則需要重新啟動(dòng)機(jī)器來(lái)獲得腳本的執(zhí)行。
d 、“配置文件路經(jīng)”和“登陸腳本路徑”、“主文件夾”
朋友們?cè)诔醮卧O(shè)置域賬戶腳本的時(shí)候,可能對(duì)于這三個(gè)概念有些模糊,難以區(qū)分,這里說(shuō)明一下:
①使用組策略,在用戶登錄腳本的的地方編輯一個(gè)cmd 等,使用諸如net use的方式就可以map 一個(gè)網(wǎng)絡(luò)盤(pán)符了。
②“配置文件路徑”是指用戶profile 所處的位置,通常在userprofile
“登錄腳本路徑”是指用戶登錄到服務(wù)器時(shí),執(zhí)行的腳本所處的位置,通常默認(rèn)路徑位于服務(wù)器上的netlogon 下,如果制定策略中使用腳本,默認(rèn)的路徑應(yīng)該在gpo 的guid 下的user 或者computer 下的scripts ,如果置于其他位置,需要手動(dòng)指定完全路徑。
③“主文件夾”是指用戶在fileserver 上的個(gè)人主目錄,這個(gè)概念沒(méi)有絕對(duì)的位置。需要你手動(dòng)指定路徑,不過(guò)在這里寫(xiě)入和在腳本中寫(xiě)入的不同,在于系統(tǒng)會(huì)根據(jù)你寫(xiě)入的路徑,自動(dòng)創(chuàng)建文件夾,并為該用戶分配權(quán)限,該文件夾的owner 屬于該用戶。這里可以使用username的變量,讓系統(tǒng)自行完成。當(dāng)然在指定了主目錄后,你仍然可以訪問(wèn)其他有權(quán)限使用的資源。
e 、關(guān)于策略的執(zhí)行順序是本機(jī)、站點(diǎn)、域、ou 、子ou 。如果有設(shè)置上的重復(fù),按照?qǐng)?zhí)行的順序,后面的設(shè)置將會(huì)覆蓋前面的設(shè)置。
如果在ou 上設(shè)置“block policy inheritance”,那么上層的策略將不會(huì)在這一層獲得執(zhí)行。
如果在ou 上設(shè)置“No override”,那么這一層將不會(huì)被后面的策略設(shè)置覆蓋,也就是說(shuō)即使后面有相同的設(shè)置,仍然以這一層的設(shè)置為準(zhǔn)。
如果在ou 上設(shè)置“disabled”,那么這個(gè)策略將會(huì)被禁止執(zhí)行。
如果在策略的properties security上取消了對(duì)應(yīng)的組的read 和apply group policy ,那么對(duì)應(yīng)的組將會(huì)無(wú)法應(yīng)用到策略。通常默認(rèn)被應(yīng)用的組有
authenticated user。
如果你取消了該組的兩個(gè)權(quán)限,然后add 其他組,同樣賦予read 和apply group policy 的話,此策略將只會(huì)被該組執(zhí)行到,這也就是所謂的filter 。
如果你的域中有多臺(tái)dc ,可能需要在dssite.msc 中手動(dòng)同步它們。
你也可以在服務(wù)器上使用secedit /refreshpolicy user_policy(machine_policy) /enforce 來(lái)強(qiáng)制刷新策略
這樣的辦法同樣適用于client 。
f 、執(zhí)行的腳本,可以放在computer configuration和user configuration中執(zhí)行。 對(duì)于user ,通常可以放置更改用戶屬性的東西。
對(duì)于computer ,通??梢苑胖酶挠?jì)算機(jī)屬性的東西。
這兩個(gè)沒(méi)有絕對(duì)界限,但通常登陸的時(shí)候,都屬于domain users成員,這樣如
,果需要更改注冊(cè)表或系統(tǒng)文件之類(lèi)的,可能會(huì)遇到權(quán)限問(wèn)題,那么我們也可以把這樣的腳本放在computer 中,這樣可以在user 登陸之前獲得執(zhí)行。
計(jì)算機(jī)賬戶:大家很少用到計(jì)算機(jī)賬戶吧,那么計(jì)算機(jī)賬戶的作用在這里可以得到體現(xiàn),由于此時(shí)還沒(méi)有用戶賬戶驗(yàn)證,計(jì)算機(jī)賬戶和dc 的驗(yàn)證有一方面來(lái)源于本地計(jì)算機(jī)賬戶和dc 之間保持一個(gè)密碼同步,以便于在這種特殊的情況下獲得驗(yàn)證,該密碼默認(rèn)30天變更一次。你甚至可以在sharefolder 上添加計(jì)算機(jī)賬戶的權(quán)限。
如果由于dns 對(duì)應(yīng)或者其他的一些原因,導(dǎo)致這個(gè)密碼無(wú)法同步,dc 將會(huì)無(wú)法驗(yàn)證該計(jì)算機(jī)賬戶,這可能會(huì)導(dǎo)致計(jì)算機(jī)登陸腳本無(wú)法執(zhí)行。在dc 的日志上一般都會(huì)給出一個(gè)錯(cuò)誤提示,ComputerNetbiosName$無(wú)法存取。解決的辦法,可以通過(guò)在客戶端上執(zhí)行netdom 重置該信任關(guān)系,這是另話了。
對(duì)于user 的設(shè)定,只需要登出然后登入即可獲得腳本的應(yīng)用。
對(duì)于computer 的設(shè)定,則需要重新啟動(dòng)機(jī)器來(lái)獲得腳本的執(zhí)行。
注:從上面的幾點(diǎn)中,大家可以看到計(jì)算機(jī)在登陸的時(shí)候需要通過(guò)dns 來(lái)定位dc ,從而定位定位gpo ,sysvol (策略、腳本、管理模板都存放在這里),dns 對(duì)于ad 的設(shè)置是至關(guān)重要的,一般來(lái)說(shuō)可以這樣設(shè)置,將客戶端的dns 指向dc (如果dc 上是雙網(wǎng)卡的話,那么指向內(nèi)部網(wǎng)卡dns ),然后在dc 上設(shè)置轉(zhuǎn)發(fā),forward 到外部(isp )dns 。
FAQ :
配置過(guò)程如下:
1、制作腳本文件config.bat 并拷貝至域控制器服務(wù)器下的sysvolsysvolscripts 目錄下
該腳本文件用 net use z: linux_fileshare 命令
2、配置“配制文件路徑”:路徑指向: wf_sav(域控制服務(wù)器名) etlogon 配置“登錄腳本路徑”: config.bat
3、在客戶機(jī)注銷(xiāo)重新登陸時(shí)出現(xiàn)以下窗口:但未能將共享文件夾映射為Z 盤(pán)。 回答:一般腳本的存放位置有兩種觀點(diǎn):
1、將登陸腳本放在server etlogon下(在dc 上的物理路徑
是 systemrootSYSVOLsysvoldomainnameSCRIPTS ,而不是 sysvolsysvolscripts )
在設(shè)置賬戶屬性中登陸指令檔的時(shí)候,此時(shí)是登陸域的時(shí)候默認(rèn)尋找登陸腳本的位置。如果需要修改該腳本,需要手動(dòng)定位到上面的路徑,優(yōu)點(diǎn)是腳本集中放置
2、將登陸腳本放在策略gpo 所處的路徑下(在dc 上的物理路徑類(lèi)似于這樣 domainnameSysVoldomainnamePolicies{142B4268-9574-471F-9F7F-9AA04836F57F}UserScriptsLogon,這里一長(zhǎng)串的數(shù)字是gpo 的guid ,用來(lái)唯一的標(biāo)識(shí)這個(gè)對(duì)象,可以通過(guò)查詢(xún)?cè)摬呗缘膶傩裕瑏?lái)察看該guid )
,在設(shè)置策略中登入指令檔的時(shí)候,此時(shí)是登陸域的時(shí)候默認(rèn)尋找登陸腳本的位置 如果需要修改該腳本,可以點(diǎn)擊下方的“顯示檔案”
優(yōu)點(diǎn)是和策略關(guān)聯(lián)性強(qiáng),編輯查找方便
無(wú)論用哪種方法,如果腳本放置在默認(rèn)的查詢(xún)路徑,指定登陸檔的時(shí)候就不用寫(xiě)路徑。
如果不是,就需要填寫(xiě)完整路徑,當(dāng)然這個(gè)路徑需要對(duì)于client 可用,也就是說(shuō)不能填寫(xiě)諸如 c:winntsysvolsysvol 這樣的路徑,否則client 在登陸的時(shí)候,只會(huì)在自己的機(jī)器上 c:winntsysvolsysvol 查找腳本,顯然是找不到的,因?yàn)槟_本是下載到本地執(zhí)行的。
那么我們先看看腳本是否能夠在client 上正確執(zhí)行,在client 上 winkey r,然后填入腳本的路徑,比如 servername etlogonconfig.bat
執(zhí)行一下,是否能夠等到正確的結(jié)果?
然后察看上面的位置中指定的路徑是否正確
如果是通過(guò)策略指定的登陸腳本,我們?cè)儆?gpresult /v ,察看一下client 是否應(yīng)用到了您制定的策略,如果沒(méi)有就要考慮使用 dssite.msc 手動(dòng)同步域中的所有dc ,然后secedit /refreshpolicy user_policy (machine_policy)/enforce 強(qiáng)制刷新策略,然后client 重新登陸或者重新啟動(dòng)一下(這取決于您制訂的是用戶登陸腳本還是計(jì)算機(jī)登陸腳本)
如果還是不行,有可能是由于本地已經(jīng)map 了同樣盤(pán)符的盤(pán),導(dǎo)致沖突 有可能是由于map 的共享路徑權(quán)限設(shè)置錯(cuò)誤,常見(jiàn)的是共享權(quán)限的設(shè)置問(wèn)題 有可能是由于map 的共享是跨平臺(tái)的存儲(chǔ)設(shè)備或者格式,它們可能不能在登陸時(shí)在系統(tǒng)要求的時(shí)間內(nèi)響應(yīng),這導(dǎo)致系統(tǒng)認(rèn)為該資源超時(shí)連接,不可用。您可以嘗試更換netbios 名稱(chēng)或者ip 看看是否有所改善。
將用戶添加到組的腳本:
引用:
dim MyUserContainer as IADsContainer
dim MyUser as IADsUser
dim MyGroup as IADsGroup
dim Filter as Variant
Filter = Array( user );
set MyUserContainer = GetOBject( WinNT://ABX )
MyContainer.Filter = Filter filter out all objects except users
set MyGroup = GetObject( WinNT://ABX/Manufacturing_Users )
for each MyUser in MyUserContainer
if not MyGroup.IsMember(MyUser) then
,MyGroup.Add(MyUser) end if