ice*_*ava 26 scripting windows
当我在第一份工作中担任管理员时,我对 Windows 服务器的管理流程是一系列点击操作感到沮丧。我们永远无法与 Unix 服务器的效率水平相提并论,因为它有一组 shell 脚本来自动化大量工作。我很快就读到了 WSH 和ADSI并立即了解了我能够通过脚本实现多少自动化。
但是有一个很大的问题 - 我的 Windows 同事几乎没有一个真正对学习脚本感兴趣。他们似乎对手动点击鼠标的琐事很满意,并且对使用脚本代表他们完成工作的前景从不感到兴奋。尽管效率明显提高,但我还是努力说服他们学习脚本技能。此后,我离开了那份工作,开始了全职软件开发职业。
在各种环境和不同客户中工作了将近十年,我仍然遇到 Windows 管理员主要拥有这种一般的“情绪”,他们会尽可能避免编写脚本。尽管可访问性水平不断提高,但 Windows 服务器技术正在为脚本和自动化开放。我几乎可以肯定,大多数管理员都是管理员,因为他们绝对讨厌执行任何类型的编程职责。从长远来看,有哪些方法可以鼓励和激励管理员脚本编写确实可以帮助他们?
wfa*_*ulk 21
作为一名编写大量Unix 脚本而几乎不编写 Windows 脚本的 Unix 和 Windows 管理员,我想说这部分是由于 Windows 脚本实用程序和 API 令人难以置信的笨拙,以及困难(也许不明显会是一个更好的词)在 Windows 机器上远程运行的东西。
我的意思是,这是WTF吗?
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Run Code Online (Sandbox Code Playgroud)
问题的一部分,我想,是有是一个API。在 Unix 下,管理员主要是为他们已经使用的命令行实用程序的自动化编写脚本。在 Windows 下,你必须使用这个在各个层面都不熟悉的 API。例如,“冒充”是什么意思?对于可能使用 sudo 和 su 并且已经熟悉 setuid 脚本的 Unix 管理员来说,这是一个微不足道的概念。但是 Windows 管理员不太可能熟悉其中任何一个。他们可能知道“runas”(或等效的 GUI 选项),但是当他们需要做一些管理员操作时,他们更有可能以管理员身份登录。
Windows 中的脚本编写文档很糟糕。一方面,它比脚本更像是“解释性语言”,同样是因为他们使用的是(不熟悉的)API 而不是他们已经熟悉的命令。但是我认为我从未在 Microsoft 的文档中找到任何有用的东西,而不是通过找到已经在做一些接近我想要的东西的人来引导我找到正确的方向。似乎没有任何地方可以列出您可以做的事情。就好像您必须熟悉 Windows 内部结构才能完成最基本的事情。
并不是说 Unix 脚本通常看起来不像线路噪音。但是 Unix 管理员可以从一个脚本开始,该脚本只运行他已经知道的简单命令。(“我总是必须连续运行这三个命令。如果我只是将它们放在一个文件中,我可以在一个命令中完成!”)然后他可以在对这种情况感到满意后进步。相比之下,管理员无法编写脚本“以管理员身份登录服务器;单击开始 → 设置 → 控制面板;双击系统;单击计算机名称选项卡;等等”。是的,无论他想要达到什么目的,都可能通过某个 API 呈现出来,但他无法逐步找到它。
因此,要回答“我们怎样才能让 Windows 管理员编写更多脚本?”这个问题,答案是,让脚本编写不那么陌生。如何做到这一点,我不知道。
老实说,答案掌握在微软手中。他们没有理由没有命令行实用程序来完成通过 GUI 完成的所有工作。(现在实际上有很多,但他们没有做广告,他们的记录很差,而且不一致。)也没有理由在 GUI 中不能有一些关于什么的提示那个按钮确实可以。有一个工具提示,显示正在修改的 API 对象。或者在帮助窗口中记录它。
将用户从内部屏蔽起来没有问题,但 Windows 似乎不遗余力地主动隐藏这些内部,即使是那些想要找到它们的人。
小智 8
给他们一个只能通过脚本完成的任务 - 例如,我曾经不得不编写数百个文件夹的脚本,并为每个文件夹编写自定义权限,并且必须每天更新。如果他们要手动执行此操作,这将是他们唯一的工作。该脚本使用 CACLS 等方法根据带分隔符的文本文件的输出重置权限,需要大约一天的时间才能完善(基本脚本在大约一个小时内完成)。
当您开始了解您可以使用脚本做什么时,这可能是一个巨大的胜利。
我曾经聘请了一位系统管理员,他完全拒绝进行任何“编程”,我试图向他展示以身作则的方式。我能从他那里得到的最好结果是使用现有代码并修改变量分配或主机名等。完成工作。有些人就是不喜欢编程,所以你需要为他们降低门槛。
微软正在这方面取得进展。在 SQL Server 中,现在可以单击 Management Studio GUI 中的内容,然后转储您刚刚完成的操作的 t-sql 脚本。这很棒,特别是对于不太喜欢编程的 windows 系统管理员。
我注意到 System Center Virtual Machine Manager 具有相同的视图脚本功能,只是它转储了一个 powershell 脚本。我认为许多其他产品线也在引入这一点。
如何激励管理员编写脚本?艰难的电话,一个好的管理员是一个懒惰的管理员,这意味着管理员会尽可能多地编写脚本。有时间点击内容的管理员效率不高!繁重的工作让您的管理员不堪重负,以至于他们别无选择,只能编写脚本。
归档时间: |
|
查看次数: |
1184 次 |
最近记录: |