当我在第一份工作中担任管理员时,我感到沮丧的是,我们使用Windows服务器的管理过程是一系列的点击率;我们的效率水平永远比不上Unix服务器的效率,Unix服务器有一组shell脚本来实现大量工作的自动化。我很快就读到了关于WSH和阿德西的文章,并且很快就学会了如何使用脚本来实现多大的自动化。
但是有一个很大的问题--几乎没有一个我的Windows同事真的对学习脚本感兴趣。他们似乎对手动鼠标点击家务感到满意,并且从来没有对使用脚本来代表他们做这项工作的前景感到兴奋。尽管效率明显提高,我还是很难说服他们掌握脚本技巧。我离开这份工作是为了追求以后的全职软件开发生涯。
在不同的环境和不同的客户中工作了将近十年,我仍然会遇到Windows管理员,他们主要有这种普遍的“情绪”,他们会尽可能地避免编写脚本。尽管可访问性水平不断提高,但Windows服务器技术正在为脚本编写和自动化打开大门。我几乎可以肯定,大多数管理员都是管理员,正是因为他们绝对不喜欢执行任何类型的编程任务。从长远来看,有什么方法可以鼓励和激励管理员脚本编写才能真正帮助他们呢?
发布于 2009-10-02 14:30:44
作为一个做了大量Unix脚本而几乎没有Windows脚本的Unix和Windows管理员,我想说这部分是因为Windows脚本实用程序和API令人难以置信的尴尬,以及在Windows机器上远程运行东西的困难(也许不是明显的)。
我是说,这是什么?
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")问题的一部分,我认为,是有一个API。在Unix下,管理员主要是编写他们已经使用的命令行实用程序的自动化脚本。在Windows下,您必须使用在各个级别上都不熟悉的API。例如,“冒充”是什么意思?对于Unix管理员来说,这是一个微不足道的概念,他可能使用sudo和su,并且已经熟悉setuid脚本。但是Windows管理员不太可能熟悉其中的任何一个;他们可能知道"runas“(或等效的GUI选项),但是当他们需要做admin-y时,他们更有可能以管理员身份登录。
在Windows中编写脚本的文档是很糟糕的。首先,它更像是“解释语言”而不是脚本,同样是因为他们使用的是(不熟悉的) API,而不是他们已经熟悉的命令。但我认为,我从未在微软的文档中找到过任何有用的东西,而这些有用的东西并不是因为我找到了一个已经在做我想做的事情的人,它为我指明了正确的方向。似乎没有什么东西是你能做的。这就好像你必须熟悉Windows的内部结构,才能完成最基本的工作。
并不是说Unix脚本不经常看起来像行噪声。但是Unix管理员可以从一个脚本开始,它只运行他已经知道的简单命令。(“我总是要连续运行这三个命令,如果我把它们放在一个文件中,我可以在一个命令中完成!”)然后,当他适应了这种情况后,他就可以进步了。相比之下,管理员无法编写脚本“以管理员身份登录服务器;单击Start→Settings→Control;双击System;单击Computer Name选项卡;等等。”是的,他想要得到的东西可能是通过某个API呈现的,但是他没有办法逐步找到它。
因此,要回答“我们如何让Windows管理员进行更多的脚本编写?”,答案是,减少脚本的外星。怎么做,我不知道。
老实说,答案掌握在微软手中。他们没有理由不能使用命令行实用程序来完成所有通过GUI完成的工作。(实际上,现在有很多这样的广告,但是它们没有广告,它们的文档很差,而且它们不一致。)在GUI中也没有理由不给出一些提示,说明该按钮到底做了什么。有一个工具提示,显示正在被修改的API对象。或者把它记录在“帮助”窗口中。
保护用户免受内部保护是没有问题的,但是Windows似乎在积极地隐藏这些内部信息,甚至那些想要找到它们的用户也是如此。
发布于 2009-10-02 14:28:51
给他们一个真正只能通过脚本完成的任务--例如,我曾经不得不为每个文件夹编写创建数百个文件夹和自定义权限的脚本,并且它必须每天更新。如果他们手动完成这个任务,那将是他们唯一的工作。该脚本使用CACLS和其他方法,根据分隔文本文件的输出重置权限,大约花了一天时间完成(基本脚本在大约一个小时内完成)。
当您开始了解如何使用脚本时,这可能是一个巨大的胜利。
发布于 2009-10-02 14:50:27
有一次,我雇了一位系统管理员,他断然拒绝做任何“编程”,我试图为他指明以身作则的方法。我能从他身上得到的最好的方法就是使用现有的代码&修改变量、赋值或主机名等等。才能完成任务。有些人只是不喜欢编程,所以你需要降低他们的门槛。
微软正在介入这一领域。在Server中,现在已经有一段时间可以单击Management中的内容&然后将您刚才所做的输出一个t脚本。这是很棒的,特别是对于不喜欢编程的windows系统管理员。
我注意到,具有相同的视图脚本功能,除了它转储出一个powershell脚本之外。我想很多其他的生产线也在引进这一产品。
如何激励管理员编写脚本?一个好的管理员是一个懒散的管理员&这意味着一个管理员将尽可能多地编写脚本。一个有时间点击的管理员不是很有效率!你的管理员工作太多了,他们别无选择,只能写剧本。
https://serverfault.com/questions/70748
复制相似问题