首页 > 编程 > VBScript > 正文

windows.关于设置脚本的一些基本方法原则

2019-10-26 17:58:27
字体:
来源:转载
供稿:网友
提问:“看了这么多高手的帖子,却没有找到一个非常简单的问题的答案:
即如何为一个域用户设置登陆脚本?
- BAT可否作为登陆脚本?
- 在域用户“属性”中,应如何指定登陆脚本名?"D:/x.bat"还是"//srv/x.bat"?还是其它?
- 脚本应该放在何处?
- 还有没有其它要注意的问题?”
 
(参加原帖热烈的讨论 http://www.winmag.com.cn/forum/itemdisplay.asp?boardid=24&id=393362)
 
回答:
1、bat可以作为登陆脚本执行,确切说一切可以在windows平台执行的东西都可以作为登陆脚本来用。
2、应该指定以//server/……这样格式开头的路径。因为client在登陆的时候执行脚本,其实是从服务器上下载到本地,然后执行。这样的话,如果指定c:/这样的路径,client只会在本地的c盘查找,而不是到server上的路径去查找。
3、脚本可以放在一切client能够读取的位置。通常这个位置处于//server/netlogon的share下(在服务器上的位置是%systemroot%/sysvol/sysvol/domainname/scripts),但是如果你制订了策略,那么脚本默认的存放路径应该在%systemroot%/sysvol/sysvol/domainname/policies/guid/user(machine)/scripts下,如果你放在别的位置,需要在脚本执行栏的位置输入绝对路径,格式同样需要以//server/……开头。
4、其他的问题也很多了,一般来说就是脚本适用于策略的时候,客户端可能会执行不到。
一般来说可能会有一下的几个原因:
a、脚本从名称到内容都尽可能的不要用特殊字符、长文件名(超过8个字符)、空格,比如&等。这样的脚本在不同的os上可能执行会有问题。

b、脚本存放的位置和路径,请遵照上面的原则来做。

c、脚本的编写方面。特别是适用net use 来map一个fileserver上的路径。有可能在登陆之前,client上已经有网络盘的映射,如果恰好和你map的盘符一样,将有可能导致脚本执行失败,你可以在脚本的最前面加一句net use * /d /y来解决这个问题。
不过这个命令要慎用,在实际生产环境中,如果你的fileserver是非wintel平台的storage,响应时间较长,那么可能导致用户重新登陆时,无法连接fileserver上的sharefolder,可以用一句if exist来判断网络盘是否存在。
另外一个方面,如果远程设备是一些跨平台的存储设备,比如一些nas、san等,map到windows平台的时候可能会提示“网络路径无法连接”等问题,可以相互更换map //server_netbios_name或者map //server_ipaddress两种方式来尝试连接。
如果遇到权限问题,那么按照共享权限和安全权限冲突时取最小值的原则,一般来讲可以将共享权限设置为full control,然后安全权限做严格设定的办法来解决。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表