VBScript:登录脚本

今日与一些朋友调侃起各自的部门名称,有的IT部已经被用户公认为“挨踢”部,甚至有的IT部的分机号码都已被设置为119,  不知有多少ITPro被沦落为“救火员”,成就了传说中的“挨踢”, 业务与IT部门之间的哪些微秒之外到底在哪里?
今天要与大家分享的是AD用户在登入时执行的脚本,设置的位置位于AD用户属性的Logon Script处。因为该功能涉及到部分注册表的写入,因此根据条件判断通过Runasspc工具来分别运行两个辅助脚本,这两个脚本,明天与大家分享。
有关Runasspc的用法,请参考官方网站(德国工艺,五星保证)。
该脚本指在为多家分支机构的用户提供通用的基本设置功能,包括自动增加和设置默认打印机,Citrix ICA快捷键、基本的截屏、USB和VNC等等的安全控制。
脚本存储位置:\\Domain\Netlogon
  1. '*************************************************  
  2. ' Script : Users Logon Script   
  3. ' Last Modified : 2010-07-27   
  4. ' Version : 2.0   
  5. '**************************************************  
  6. On Error Resume Next      
  7.  
  8. ' CN Branch Printer      
  9. Const nBranch  = 10   
  10. Const nPRN    = 5   
  11. Const nDept    = 5   
  12.  
  13. Const HZ    = 0   
  14. Const SH    = 1   
  15. Const NJ    = 2   
  16. Const FZ    = 3   
  17. Const XM    = 4   
  18. Const JN    = 5      
  19. Const SZ    = 6   
  20. Const CQ    = 7      
  21.  
  22.  
  23. Const CR    = 0   
  24. Const HR    = 1   
  25. Const IT    = 2   
  26. Const AC    = 3   
  27. Const OM    = 4   
  28.  
  29.  
  30. ReDim arrBranch(nBranch - 1)   
  31.   arrBranch(0)    = "HZ"   
  32.   arrBranch(1)    = "SH"   
  33.   arrBranch(2)    = "NJ"   
  34.   arrBranch(3)    = "FZ"   
  35.   arrBranch(4)    = "XM"   
  36.   arrBranch(5)    = "JN"   
  37.   arrBranch(6)    = "SZ"   
  38.   arrBranch(7)    = "CQ"   
  39.  
  40.  
  41. ReDim arrBWPRN(nBranch - 1 , nDept - 1)   
  42. ReDim arrCOPRN(nBranch - 1 , nDept - 1)   
  43. ReDim arrDePRN(nBranch - 1 , nDept - 1)   
  44.  
  45. arrBWPRN(HZ,0)      = "\\hz2k3dc01\BWPrn1"   
  46. arrBWPRN(HZ,1)      = "\\hz2k3dc01\BWPrn2"   
  47. arrCOPRN(HZ,0)      = ""   
  48. arrDePRN(HZ,CR)    = 1   
  49. arrDePRN(HZ,HR)    = 1   
  50. arrDePRN(HZ,IT)    = 1   
  51. arrDePRN(HZ,AC)    = ""   
  52. arrDePRN(HZ,OM)    = ""   
  53.  
  54. arrBWPRN(SH,0)      = "\\SH2k3dc01\BWPrn1"   
  55. arrBWPRN(SH,1)      = "\\SH2k3dc01\BWPrn2"   
  56. arrCOPRN(SH,0)      = "\\SHPUB235\BWPrn3"   
  57. arrDePRN(SH,CR)    = ""   
  58. arrDePRN(SH,HR)    = ""   
  59. arrDePRN(SH,IT)    = ""   
  60. arrDePRN(SH,AC)    = ""   
  61. arrDePRN(SH,OM)    = ""   
  62.  
  63. arrBWPRN(NJ,0)      = "\\NJ2k3dc01\BWPrn1"   
  64. arrBWPRN(NJ,1)      = "\\NJ2k3dc01\BWPrn2"   
  65. arrCOPRN(NJ,0)      = ""   
  66. arrDePRN(NJ,CR)    = ""   
  67. arrDePRN(NJ,HR)    = ""   
  68. arrDePRN(NJ,IT)    = ""   
  69. arrDePRN(NJ,AC)    = ""   
  70. arrDePRN(NJ,OM)    = ""   
  71.  
  72. arrBWPRN(FZ,0)      = "\\FZ2k3dc01\BWPrn1"   
  73. arrBWPRN(FZ,1)      = "\\FZ2k3dc01\BWPrn2"   
  74. arrBWPRN(FZ,2)      = "\\FZPUB235\BWPrn3"   
  75. arrCOPRN(FZ,0)      = "\\FZPUB235\COPrn1"   
  76. arrDePRN(FZ,CR)    = ""   
  77. arrDePRN(FZ,HR)    = ""   
  78. arrDePRN(FZ,IT)    = ""   
  79. arrDePRN(FZ,AC)    = ""   
  80. arrDePRN(FZ,OM)    = ""   
  81.  
  82. arrBWPRN(XM,0)      = "\\XM2k3dc01\BWPrn1"   
  83. arrBWPRN(XM,1)      = "\\XM2k3dc01\BWPrn2"   
  84. arrBWPRN(XM,2)      = "\\XMPUB235\BWPrn3"   
  85. arrCOPRN(XM,0)      = ""   
  86. arrDePRN(XM,CR)    = ""   
  87. arrDePRN(XM,HR)    = ""   
  88. arrDePRN(XM,IT)    = ""   
  89. arrDePRN(XM,AC)    = ""   
  90. arrDePRN(XM,OM)    = ""   
  91.  
  92. arrBWPRN(JN,0)      = "\\JN2k3dc01\BWPrn1"   
  93. arrBWPRN(JN,1)      = "\\JN2k3dc01\BWPrn2"   
  94. arrCOPRN(JN,0)      = "\\JNPUB235\BWPrn3"   
  95. arrDePRN(JN,CR)    = ""   
  96. arrDePRN(JN,HR)    = ""   
  97. arrDePRN(JN,IT)    = ""   
  98. arrDePRN(JN,AC)    = ""   
  99. arrDePRN(JN,OM)    = ""   
  100.  
  101. arrBWPRN(SZ,0)      = "\\SZ2k3dc01\BWPrn1"   
  102. arrBWPRN(SZ,1)      = "\\SZ2k3dc01\BWPrn2"   
  103. arrBWPRN(SZ,2)      = "\\SZPUB235\BWPrn1"   
  104. arrCOPRN(SZ,0)      = "\\SZPUB235\coPrn1"   
  105. arrDePRN(SZ,CR)    = 1   
  106. arrDePRN(SZ,HR)    = ""   
  107. arrDePRN(SZ,IT)    = ""   
  108. arrDePRN(SZ,AC)    = 1   
  109. arrDePRN(SZ,OM)    = 1   
  110.  
  111. arrBWPRN(CQ,0)      = "\\CQ2k3dc01\BWPrn1"   
  112. arrBWPRN(CQ,1)      = "\\CQ2k3dc01\BWPrn2"   
  113. arrCOPRN(CQ,0)      = "\\CQPUB235\BWPrn3"   
  114. arrDePRN(CQ,CR)    = ""   
  115. arrDePRN(CQ,HR)    = ""   
  116. arrDePRN(CQ,IT)    = ""   
  117. arrDePRN(CQ,AC)    = ""   
  118. arrDePRN(CQ,OM)    = ""   
  119.  
  120.  
  121. '----------------------------------------------------------------  
  122.  
  123. Set WShell = CreateObject("wscript.shell")      
  124. Set objNetwork = CreateObject("wscript.network")      
  125. Set objFSO = CreateObject("scripting.FileSystemObject")      
  126. Set objSysInfo  = CreateObject("ADSystemInfo")   
  127.  
  128. strComputer = objNetwork.ComputerName      
  129. UserName = objNetwork.UserName      
  130. VCsite  = Left(strComputer,2)   
  131. RegInfo = 0   
  132.       
  133. If InStr(1,strComputer,"2K3",1) > 0    Then   
  134.                 WScript.Quit      
  135. Else      
  136.      'Add Printer and set defualt Printer      
  137.         strUserPath = "LDAP://" & objSysInfo.UserName      
  138.         Set objUser = GetObject(strUserPath)      
  139.         For Each strGroup In objUser.Memberof      
  140.                strGroupPath = "LDAP://" & strGroup      
  141.                 Set objGroup = GetObject(strGroupPath)      
  142.                 strGroupName = objGroup.CN      
  143.          nSiteCode = GetSiteCode(VCSite)   
  144.  
  145.        Select Case strGroupName       
  146.          'Add    Black and White Printer      
  147.          Case VCSite & "-Printer Users"      
  148.            For lngIndex = 0 to nBranch -1   
  149.              If arrBWPRN(nSiteCode, lngIndex) <> "" then   
  150.                 objNetwork.AddWindowsPrinterConnection arrBWPRN(nSiteCode,lngIndex)   
  151.              End If   
  152.            Next   
  153.  
  154.              'Add Color Printer      
  155.          Case VCSite & "-Colour Printer Users"      
  156.            For lngIndex = 0 to nBranch -1   
  157.              If arrCOPRN(nSiteCode, lngIndex) <> "" then   
  158.                objNetwork.AddWindowsPrinterConnection arrCOPRN(nSiteCode,lngIndex)   
  159.              End If   
  160.           Next   
  161.               
  162.          Case "Print-Screen-User"   
  163.            RegInfo = 1   
  164.                       
  165.        End Select          
  166.      Next   
  167.  
  168.     'set defualt Printer      
  169.          strDept     = Left(objUser.DisplayName,4)   
  170.          nDeptCode = GetDeptCode(strDept)   
  171.               
  172.      If nDeptCode < 99 and arrDePRN(nSiteCode, nDeptCode) <> "" Then   
  173.        objNetwork.SetDefaultPrinter arrBWPRN(nSiteCode, arrDePRN(nSiteCode, nDeptCode))   
  174.      ElseIf arrDePRN(nSiteCode, nDeptCode) = "" Then   
  175.        objNetwork.SetDefaultPrinter arrBWPRN(nSiteCode, 0)   
  176.      End If   
  177.                
  178.          'Map Network Drive      
  179.           objFSO.CreateFolder "\\" & Vcsite & "2k3dc01\Personal_Folder$\" & UserName      
  180.           objNetwork.MapNetworkDrive "P:","\\" & Vcsite & "2k3dc01\Personal_Folder$\" & UserName      
  181.           objNetwork.MapNetworkDrive "R:","\\" & VCsite & "2k3dc01\dept$"      
  182.           objNetwork.MapNetworkDrive "S:","\\" & VCsite & "2k3dc01\scan$"      
  183.               
  184.  
  185.           'Set & Delete Regsitry Key Value              
  186.           If RegInfo = 1 Then      
  187.              wshell.Run("\\" & VCsite & "2k3dc01\netlogon\runasspc.exe /cryptfile:" & "\\" & VCSite & "2k3dc01\netlogon\Admin_Program\Special_Admin_Program.spc /quiet")   
  188.           Else   
  189.              wshell.Run("\\" & VCsite & "2k3dc01\netlogon\runasspc.exe /cryptfile:" & "\\" & VCSite & "2k3dc01\netlogon\Admin_Program\Default_Admin_Program.spc /quiet")   
  190.           End If                      
  191. End If   
  192.  
  193. GetSiteCode() GetSiteCode(strSite)   
  194.   For lngIndex = 0 To nBranch -1   
  195.     if strSite = arrBranch(lngIndex) then   
  196.       GetSiteCode = lngIndex   
  197.     End if   
  198.   Next   
  199. End Function   
  200.  
  201. GetDeptCode() GetDeptCode(strDept)   
  202.   Select Case Mid(strDept,3,2)   
  203.       
  204.   Case "CR"   
  205.     GetDeptCode = 0   
  206.   Case "HR"   
  207.     GetDeptCode = 1   
  208.   Case "IT"   
  209.     GetDeptCode = 2   
  210.   Case "AC"   
  211.     GetDeptCode = 3   
  212.   Case "OM"   
  213.     GetDeptCode = 4   
  214.   Case Else   
  215.     GetDeptCode = 99   
  216.        
  217.   End Select   
  218. End Function 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/549166.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WebService生成客户端代理的工具WSDL参数介绍

wsdl.exe使用 ASP.NET&#xff0c;根据 WSDL 协定文件、XSD 架构和 .disc 发现文档&#xff0c;为 Xml Web Services 客户端和 Xml Web Ser 代码的实用工具。此工具可以与 disco.exe 一起使用。wsdl.exe <选项> <URL 或路径> <URL 或路径>选项 <URL 或路径…

“街坊”×××数字平台,昔日的思想,曾经的努力

“街坊”数字平台“街坊”数字平台由“街坊”网站(http://www.jefun.cn/)、街坊售楼系统软件(http://real.jefun.cn/soft/)、街坊二手房交易系统软件(http://zu8.bj.jefun.cn/soft/)三大部分组成&#xff0c;集成了互联网、电话、短信、软件、GIS等诸位一体的技术与服务手段为用…

postfixadmin 导入数据库出错 ERROR 1062 (23000) at line 29

ERROR 1062 (23000) at line 29: Duplicate entry localhost-postfix-postfix for key 1 解决方法 [rootnagios-server postfixadmin]# mysql -uroot -p111111 <DATABASE_MYSQL.TXT ERROR 1062 (23000) at line 29: Duplicate entry localhost-postfix-postfix for key 1 删…

攻略:三大秘籍让你笑傲IT职场!

IT行业作为处于就业金字塔的顶端行业&#xff0c;一直是众多年轻人的职业梦想。那么&#xff0c;对于怀抱高薪理想的年轻人来说&#xff0c;如何实现他们的IT梦想呢&#xff1f;   秘诀一&#xff1a;认清IT的职业价值   通常人们一提到IT人才&#xff0c;马上就会联想…

SharePoint最简母版页

代码 <%Master language"C#"%><% Register Tagprefix"SharePoint"Namespace"Microsoft.SharePoint.WebControls"Assembly"Microsoft.SharePoint, Version12.0.0.0, Cultureneutral, PublicKeyToken71e9bce111e9429c"%><…

flink实时流遇到的问题排查——部分数据未落库redis问题

flink实时流遇到的问题排查1、技术和环境2、问题表述3、简化的代码4、问题排查思路5、结论6、后续补充1、技术和环境 技术&#xff1a;kafka、zookeeper、DataStream、redis 环境表述&#xff1a;kafka生产者KafkaProducerTest类mock 3条日志后&#xff0c;FlinkDataRealTimeF…

CA0503:无法显示额外的代码分析警告或错误

项目团队正在使用VSS进行协同开发&#xff0c;由于人数较多&#xff0c;一开始为了保证开发工作正常进行&#xff0c;打开了代码分析&#xff0c;强制了签入策略&#xff0c;进行代码分析。当项目进行了一段时间后&#xff0c;每次编译都会产生一个错误“CA0503:无法显示额外的…

VS2008中对.Net 3.5 sp1程序打安装包的前提系统环境的配置

众所周知&#xff0c;.net 程序必须要有frame work才能进行运行&#xff0c;这就需要发布程序时一起进行发布&#xff0c;于是我们需要配置本地机器的环境&#xff0c;而不是让用户去网站上下载这些框架。这里只介绍了操作系统的环境设置&#xff0c;对于打包的过程这里不再说明…

封装自定义的redis切库工具类ByteArrayRedisTemplate,读取byte数组反序列化成List<Object>

封装自定义的redis切库工具类ByteArrayRedisTemplate&#xff0c;读取byte数组反序列化成List&#xff1c;Object&#xff1e;&#xff08;使用lettuce连接池&#xff09;代码环境框架&#xff1a;springboot依赖&#xff1a;spring-boot-starter-data-redis步骤1&#xff1a;注…

随便唠叨下 最近的事情

闵行交大 闵行公安 闵行建交委 闵行大联动 闵行人口办 闵行... 看来到上海后,一直跟闵行有缘啊. 某天早上起来,赶紧洗个衣服,其实也就是几件衣服. 在卫生间冲洗后,晾晒时发现:一只袜子跑了. 望着手中仅剩的一只白袜,我感到很蛋疼.马上找了一遍,无果 这件灵异事件一直困扰着我,导…

redis的zset使用(java)——存取List< Object>

1 需求 要往redis存取List< Object>。 2 条件 1&#xff09;Object&#xff1a;是一个UserEvent对象&#xff0c;对应3个字段&#xff1a; Integer productId; String eventCode; Long timestamp;2&#xff09;要求 每个key里存取对象个数不超过xx个。 超过xx个&…

ogre研究之第一个程序(一)

第一次发送超过字数了&#xff0c;被迫剪成两篇&#xff01; 上一篇我们介绍了如何搭建开发环境&#xff0c;并创建了一个空白的窗口程序。 这里我们主要是实现在程序中装载一个简单的模型并显示出来。 首先看一下效果吧&#xff0c;&#xff08;模型就是ogre例子中的robot.mes…

Executor源码解读

Executor源码解读〇、[源码版本] jdk 1.8一、不再显式创建线程[举例1]代码示例二、不严格要求执行是异步的[举例1]代码示例三、任务在调用者线程之外的某个线程中执行[举例1]代码示例四、施加了某种限制的复合执行器[举例1]代码示例五、concurrent包中提供的Executor的实现对象…

Javascript高级程序设计第二版第十二章--Event--笔记

今天给诸位分享一下 chapter 12 Events所谓事件就是页面与文档窗口发生交互的瞬间。当年事件发生时它可以被预定&#xff08;程序处理&#xff09;。事件有两个过程&#xff0c;冒泡过程&#xff0c;或捕获过程。冒泡是自上而下&#xff0c;捕获是自下而上。这个顺序是document…

ExecutorService源码解读

ExecutorService源码解读〇、[源码版本] jdk 1.8一、ExecutorService接口详解1、ExecutorService关闭方法概述[举例1]代码示例2、ExecutorService任务执行方法概述3、Executors工厂方法概述[举例1]代码示例4、内存一致性影响二、接口方法详解1、shutdown方法2、shutdownNow方法…

英语生词本

英语生词本 1、daemon [di:mən] 守护进程2、phase [英] [feiz] 阶段, 时期3、methodology [英] [ˌmeθəˈdɔlədʒi:] 方法学,方法论4、algorithmalgorithm [英] [ˈlɡəriəm] [美] [ˈlɡəˌrɪəm] 运算法则2. 算法&#xff1b;演算法&#xff1b;计算程序3. 演示5、…

Executors源码解读——创建ExecutorService线程池

Executors源码解读——创建ExecutorService线程池〇、[源码版本] jdk 1.8一、线程池概述二、线程池创建三、Executors源码解读newFixedThreadPool()newWorkStealingPool()newSingleThreadExecutor()newCachedThreadPool()newSingleThreadScheduledExecutor()〇、[源码版本] jdk…

《大话设计模式》读书笔记-索引

《大话设计模式》读书笔记-第1章 简单工厂模式 《大话设计模式》读书笔记-第2章 策略模式 《大话设计模式》读书笔记-第3章 单一职责原则 《大话设计模式》读书笔记-第4章 开放-封闭原则 《大话设计模式》读书笔记-第5章 依赖倒转原则 《大话设计模式》读书笔记-第6章 装饰模式…

Future源码解读

Future源码解读〇、[源码版本] jdk 1.8一、Future概述[举例1]示例代码[举例2]示例代码内存一致性影响二、Future接口的方法cancel方法isCancelled方法isDone方法get方法〇、[源码版本] jdk 1.8 一、Future概述 Future表示异步计算的结果。提供了检查计算是否完成、等待计算完…

RIP,EIGRP,OSPF融合网络互通实验(原创)

首先看拓扑&#xff1a; 一个面试考官问我一个这样的问题&#xff0c;拓扑如上&#xff0c;为什么R1上的lo0 PING 不通 R6 上的lo0,说是一切都按正常配置&#xff0c;说是考我EIGRP的特性。我当然很纳闷&#xff0c;如果都正常配置怎么会不通呢&#xff0c;最后他告诉我主要是考…