Articles of 脚本

脚本替代Bash shell脚本

我刚刚迁移到UNIX工作站。 我对Bash shell脚本的记忆从学校开始已经消失,我发现语法高度混乱。 我想知道什么其他脚本语言是用来自动化任务。 我听说的两个最stream行的是Perl和Python。 哪种脚本语言被现实世界的商店使用最广泛? 哪种脚本语言最接近C / C ++语法? 有没有我不知道的另一种脚本语言? 谢谢你的帮助, 斯科特

批量查询戴尔服务标签

任何人都知道一种方法来获取一系列服务标签的信息,戴尔是否有一个在他们的网站这一节? 我也可以打开任何Perl / Python库或* nix shell脚本。 现在我主要想要每个标签的某种date。

如何在Ubuntu 10下以远程debugging模式启动tomcat?

我疯狂地设置在远程debugging模式下的Ubuntu 10下的Tomcat。基本上我把它添加到/etc/init.d/tomcat6(在开始): JAVA_OPTS="-Djava.awt.headless=true -Xmx256M -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n" 但是我看不出任何效果…事实上,我看不到端口8000打开netstat -a和Eclipse远程debugging器说它无法连接。 如果我做ps -A u | grep java我得到: tomcat6 9612 3.1 13.1 470560 154168 ? Sl 15:24 0:17 /usr/lib/jvm/java-6-sun/bin/java -Djava.util.logging.config.file=/var/lib/tomcat6/conf/logging.properties -Djava.awt.headless=true -Xmx128m -XX:+UseConcMarkSweepGC -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/share/tomcat6/endorsed -classpath /usr/share/tomcat6/bin/bootstrap.jar -Dcatalina.base=/var/lib/tomcat6 -Dcatalina.home=/usr/share/tomcat6 -Djava.io.tmpdir=/tmp/tomcat6-tmp org.apache.catalina.startup.Bootstrap start 注意它甚至没有设置堆大小(如果这是有意义的)。 那么有什么提示?

EC2启动 – 如何判断Windows准备好?

我正在与亚马逊EC2合作,并且我有一些支持EBS的Windows AMI。 从EBS快照启动新实例时,EC2Config服务为我准备Windows机器。 我知道什么时候EC2Config完成了,因为我可以检查实例控制台输出 – 一旦它说“Windows已经准备就绪”,我知道我很好。 我正在寻找的是从操作系统本身中告诉“Windows已准备就绪”的方法。 我认为可以从操作系统访问的元数据URL会告诉我这一点,但我找不到任何合适的值。 http://169.254.169.254/latest/meta-data/ 我的目标是一旦“Windows准备好”就运行configuration脚本。 我的一些configuration任务需要在启动之前确保机器已完全configuration – 特别是如果EC2Config正在重命名计算机并重新启动。 我可以使用EC2工具或C#编写一些东西,但这需要我在我的AMI上使用我的AWS密钥(我不想这么做)。 理想情况下,我想看一下机器本身的东西,告诉我什么时候可以开始configuration – 像EventLog条目,看文本文件,检查元数据URL等。 侧面的问题:我可以使用一个很好的文章,了解捆绑/解包过程对EBS机器的作用。

通过GPO / GPP部署打印机 – 是否有程序化选项?

由于我无法控制的原因,我负责设立GPO / GPP,为我们的1000多个客户部署我们的100多台打印机。 好消息是,我们有十几个站点,而且大多数情况下,我可以将站点X的所有打印机推送到站点X的所有客户端PC。 坏消息是,我知道如何做的两种方式( “使用组策略进行部署…”, 使用GPP /组策略首选项 )涉及的手动工作比我愿意的要多得多我甚至无法select打印服务器上的所有打印机,并使用“ Deploy with Group Policy…选项,例如,我希望我可以一个接一个地完成这个任务GPP更糟糕,因为它期望我从打印服务器中select打印机的path,然后手动打印一些应该能够从打印机连接中获得的信息(如打印机IP)。 我的Google-Fu用于将打印服务器上的所有打印机添加到GPO / GPP的脚本已经空了,而且我似乎还没有看到用半自动化的方式来做这件事的另一种方法,但是我坚持相信我错过了一些东西,因为没有任何理智的人会select手动将数百台打印机添加到GPO中。 理想情况下,我想find一个使用GPP的程序化方法,但是在这种情况下,任何不需要几十个小时手动添加打印机的解决scheme都会很棒。 有没有人有办法做到这一点,或者我需要build立一个PowerShell脚本和/或欺骗下属这样做?

Bash脚本来计算文件的数量

我有一个脚本,如果文件存在或不存在,我想显示不同的消息。 我有一个脚本,如: count=ls /import/*.zip | wc -l echo "Number of files: " $count if [ "$count" > "0" ]; then echo "Import $count files" else echo "**** No files found ****" fi 但是,如果没有文件存在,这是显示No such file or directory而不是0个文件。 /import/目录中有一个目录,所以我不能只执行一个ls命令,因为它总会返回一个大于0的值。 如何计算特定扩展名(.zip,.gz等)的文件数量,并在bash脚本中使用该值来显示文件数量,然后在if语句中使用它来显示不同的消息?

如何使用configuration文件(ini,conf,…)与Powershell脚本? 可能吗?

是否有可能使用PowerShell脚本configuration文件? 例如configuration文件: #links link1=http://www.google.com link2=http://www.apple.com link3=http://www.microsoft.com 然后在PS1脚本中调用这个信息: start-process iexplore.exe $Link1 在此先感谢您的帮助!!

如何添加一个脚本启动和closures在Debian中?

标题几乎总结了它。 如何将我的服务器应用程序的startup.sh和shutdown.sh添加到Debian OS的启动和closures顺序?

如何在软件安装期间locking正常(非pipe理员)用户?

我们有很多运行Windows Embedded Standard 7的瘦客户机和一个SCCM 2012 R2服务器来pipe理它们。 瘦客户机启用了写入filter(FBWF),因此机器更改不会持久。 在极less数情况下,我们必须更新它们,我们只需通过SCCM进行部署,它会自动closures写入filter并重新提交更改。 以下是应该发生的事情: SCCM客户通知用户并进行30分钟的倒计时,以保存他们的工作并下车。 瘦客户机然后重新启动并禁用写入filter。 login屏幕显示一个挂锁,并注意到该单元正在服务,并且不会允许正常(非pipe理员)用户login,而SCCM正在做这件事情。 当SCCM完成后,它将重新启用写入filter,重新启动,然后用户可以再次login。 我遇到的问题是我们使用感应卡读卡器login系统。 员工不input密码。 他们只是挖掘他们的徽章。 这个系统很好,但运行它的软件打破了Windows Embedded的写入filter自动化。 这是实际发生的事情: 在重新启动写入filter之前,SCCM客户端通常会提供15分钟的通知。 重新启动时,会显示正常的login画面。 用户可以login系统并在SCCM安装软件时使用它。 而且由于用户会话处于活动状态,因此在重新启动写入筛选器之前,再次发出30分钟通知。 在这种情况下,它不仅增加了额外的30分钟的部署时间,而且还使普通用户在瘦客户机上保持30-60分钟的无保护时间,写入filter重新打开。 这个问题源于Windows Embedded 7使用与常规Windows 7不同的凭据提供程序(又名GINA),但SSO产品必须replaceWindows凭据提供程序才能正常工作。 我已经联系了这个供应商,但他们只是说这是一个已知的问题,没有修复或解决方法。 所以这是我的问题: 我怎样才能以另一种方式模拟所需的行为? 我知道有一个组策略设置,您可以拒绝本地login到特定的用户组。 我以为我可以在安装前后翻转相应的registry设置,但我愿意接受其他的想法。 如果必须,我不在脚本安装之上。 我很stream利的脚本,PowerShell,VBScript等,我只是想知道如果有人有任何明智的想法如何解决这个问题。 更新: 我忽略了提及这些设备正在医院环境中用于工作人员对病人进行图表。 它们必须一天24小时提供,所以我们不能限制login时间或configuration维护窗口。 我们通过提前通知轮class主pipe来pipe理停机时间,但是超过一个小时的任何事情都会成为合法合规问题,并且需要执行官方停机时间程序。

查找MSI包的GUID

我怎样才能find一个MSI包的GUID? 我想通过使用以下脚本来删除大量桌面上的程序: msiexec.exe / x ProductCode 任何原因为什么这将不适用于“添加/删除程序?”中列出的任何应用程序?