标签: scripting

使用通配符删除注册表项

我希望找到一种使用批处理文件而不是编写一些 vbscript 来删除基于通配符的注册表项的方法。有人有例子吗?

我被迫继续进行 MS 出色的手动删除 Office,如下所述:

http://support.microsoft.com/kb/928218

我试图删除的一个例子是:

HKEY_CLASSES_ROOT\Installer\Products\*F01FEC HKEY_CLASSES_ROOT\Installer\UpgradeCodes\*F01FEC HKEY_CLASSES_ROOT\Installer\Win32Assemblies\*Office12*

reg 查询能否将值扔到一个变量中,然后可能用 for 循环命中它们?

FOR %%i IN (%PATH1% %PATH2% %PATH3%) DO (   
    reg delete %PATH1% /f
)
Run Code Online (Sandbox Code Playgroud)

scripting windows batch windows-registry

6
推荐指数
2
解决办法
1万
查看次数

从 Subversion 获取最新标签

有没有办法确定subversion中的最新标签?

对于我部署的应用程序,客户端需要有另一台服务器,以便在实时服务器出现故障时可以访问。已经有一个自动化系统可以将数据库复制到备份服务器。应用程序代码位于 subversion 存储库中,我想编写一个脚本,将代码从 subversion 自动复制到备份服务器。我有一个执行此操作的脚本,但是,我需要手动告诉它要检索的标签。有没有办法让它完全自动化。

服务器正在运行 Redhat。

scripting svn

6
推荐指数
2
解决办法
1万
查看次数

有人有删除特定本地 Windows 配置文件的脚本吗?

我正在寻找 Powershell(首选)脚本或 .CMD 或 .VBS,以删除工作站 (WinXP) 或终端服务器(2000、'03 或 '08)上的特定用户配置文件。我对 delprof 实用程序了如指掌......它只允许您根据一段时间的不活动进行删除。我想要一个脚本:

  • 提示管理员输入用户名
  • 删除该用户名的个人资料
    • 并删除整个配置文件 - 注册表配置单元(不仅仅是文档和设置中的文件夹结构)。
    • 如果您转到“我的电脑”>“属性”>“高级”选项卡>“用户配置文件设置”>并从那里删除配置文件,则采用相同的方式。

有任何想法吗?我能想到的就是做一个 AD 查找来获取指定用户的 SID,然后使用它来删除正确的注册表配置单元......虽然更简单的东西会很好......

基本上,我的 HelpDesk 曾经是我们 Citrix 服务器上的本地管理员,解决各种问题的常见方法是让他们删除 citrix 服务器上的用户配置文件,然后让该用户重新登录 - 瞧,无论他们遇到什么问题解决。展望未来,在新的 Citrix 环境中,他们将不再是这些机器的本地管理员,但仍然需要能够删除配置文件(删除整个配置文件:文件夹和注册表是关键)。谢谢。

scripting windows powershell user-profile

6
推荐指数
1
解决办法
2万
查看次数

Ubuntu - dhcp 服务器“未配置为侦听任何接口”

我在这个问题上不知所措;我已经尝试了几个小时来让它工作,但我很难过。希望你们中的一位能提供帮助。:-)

我正在尝试让 dhcp3-server 在 Ubuntu 上工作。它已安装并正确设置为在 rc2,3,4,5.d 运行级别中运行。在启动时,它的 init.d 脚本会运行,在 syslog 中,我得到以下信息:

Oct 18 20:40:37 jez-ubuntu dhcpd: Internet Systems Consortium DHCP Server V3.1.1
Oct 18 20:40:37 jez-ubuntu dhcpd: Copyright 2004-2008 Internet Systems Consortium.
Oct 18 20:40:37 jez-ubuntu dhcpd: All rights reserved.
Oct 18 20:40:37 jez-ubuntu dhcpd: For info, please visit http://www.isc.org/sw/dhcp/
Oct 18 20:40:37 jez-ubuntu dhcpd: Wrote 2 leases to leases file.
Oct 18 20:40:37 jez-ubuntu dhcpd:
Oct 18 20:40:37 jez-ubuntu dhcpd: No subnet declaration for eth1 (0.0.0.0).
Oct 18 …
Run Code Online (Sandbox Code Playgroud)

dhcp scripting ubuntu init boot

6
推荐指数
1
解决办法
6万
查看次数

在 cron 中运行带参数的脚本

我想运行 .py 脚本:

python /home/project/manage.py slope_update
Run Code Online (Sandbox Code Playgroud)

如果我从 shell 运行它就可以了,但是在 cron 中不起作用:

*/10 * * * * root python /home/project/manage.py slope_update
Run Code Online (Sandbox Code Playgroud)

什么错?

我从 root 编辑我的 /etc/crontab 文件


SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --repo$
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --repo$ …
Run Code Online (Sandbox Code Playgroud)

scripting cron

6
推荐指数
1
解决办法
4万
查看次数

当邮件到达邮件服务器时如何运行脚本?(Debian)

我想解析并插入刚刚到达任务关键型应用程序邮件服务器的邮件中的一些信息。

我有什么方法可以配置我的邮件服务器,以便它在邮件到达时运行脚本。

虽然我有一个 debian 系统,但任何通用解决方案(Linux)都可以。

email scripting linux debian postfix

6
推荐指数
1
解决办法
3万
查看次数

优化 RHEL/CentOS kickstart 工作流程的技巧

我在一个由位于多个数据中心和办公地点的 CentOS 系统组成的环境中工作。我一直在使用带有可靠安装后脚本的合理启动,但希望简化和扩展该过程。我们有自己的 yum 存储库,我可以控制使用的硬件范围(通常是HP ProLiant 硬件或 VMWare),假设我每周构建或重新部署一台服务器。按照硬件准备所需的步骤,我开始安装操作系统。我现在遇到的问题是:

1)。将系统引导到网络安装程序的好方法。我一直在使用 CentOS 发行版中可用的 10mb boot.iso/netinstall.iso。我通过 VMWare vCenter(用于 VM)或 HP ILO(通常通过 SSH,指向 ISO 的 URL)安装它以启动安装。大多数情况下我无法使用 PXE,因为数据中心位置没有可用的 DHCP。例如,有没有一种干净的方法可以将 boot.iso 放到 USB 密钥上?

2)。有时我需要为 kickstart 设置一个静态 IP。除了boot:在安装程序提示符下在命令行中输入信息之外,是否有更好的方法来输入该信息?

3)。自定义 kickstart 的好方法。现在,我拥有了大部分我需要的东西,但有时需要更改分区方案以适应不同的 RAID 设置(例如两个 SmartArray 控制器)。现在,我基本上是为每个系统(或系统组)设置创建一个单独的 kickstart 文件。我最终得到一个充满旧 *.cfg 文件的目录。我知道有一种更优雅的方式来做到这一点。也许是 PHP?

4)。帮助安装方法。按原样,从提示到完成的完整构建需要 5-10 分钟。我注意到安装方法很重要,具体取决于位置。HTTP 在 yum 服务器本地运行良好,但在我们与其他站点的高带宽低延迟连接上表现不佳。NFS 在这些情况下效果更好。我很感激在 kickstart 过程之前用于预加载设置或系统参数的任何漂亮技巧。

5)。安装后脚本运行良好。它拉出额外的包,设置一些初始设置,修剪服务列表并填充一些用户/密码/SSH 密钥。我想让这个环境通过适当的配置管理运行(我已经习惯了CFEngine,但认为Puppet或Bcfg2现在可能是更好的选择)。我是否削减了安装后脚本并将这些功能移到 CFEngine 中?不过,这可能是一个不同的问题。

这是我一直在使用的 kickstart 文件的一个示例:

install
text
url --url http://yum.abc.com/5.6/os/x86_64/
#nfs …
Run Code Online (Sandbox Code Playgroud)

scripting linux kickstart centos configuration-management

6
推荐指数
2
解决办法
3597
查看次数

使用另一个变量作为一部分的 Bash 变量赋值

我有以下摘录自用于备份数据库的 bash 脚本

#!/bin/bash
DB=database_name
DBUSER=username
FILENAME=$DB_$(date +%s).sql
Run Code Online (Sandbox Code Playgroud)

我想重新使用的值DB的范围内FILENAME变量赋值,但它不会让我使用替代这种方式。我只是得到文件名的时间戳。

是否有可能实现我想要的,如果是这样,语法是什么?

谢谢。

scripting bash

6
推荐指数
1
解决办法
486
查看次数

需要一个脚本/批处理/程序来运行一个在父进程被杀死时不会被杀死的命令

场景

我使用 Zabbix 来监控我的服务器,最近我想为 Windows 的服务器添加更多指标。出于安全考虑,我使用了 Zabbix 的用户参数功能,但它将外部命令的执行时间限制在 3 秒左右。之后,命令被强行杀死。

我想运行一些长时间运行的命令,所以我使用了 Zabbix 论坛中的技巧:在后台运行命令,将结果写入文件并使用 Zabbix 收集它们。

由于“&”运算符,这在 *nix 下相当容易,但 Windows 的 shell 中没有这样的支持。更糟糕的是,当 Zabbix kills 强行杀死cmd.exe它用来评估命令的程序时,所有子进程都会死亡,包括未完成的后台任务。

因此,我需要一些可以切断与其孩子的所有联系的东西,这样他们就不会在级联杀戮中受到影响。

我试过的

  • start并且start /B- 他们什么都不做,因为孩子总是和父母一起死去
  • WScript.Shell.Run as invis.vbs from StackOverflow - 有时工作。如果wscript进程被强行终止而不是自行退出,那么孩子们也会死亡。
  • hstart - 与 invis.vbs 类似的结果
  • At 命令 - 这需要您为任务设置一个绝对时间,而不是偏移量,因此由于 Windows 的 shell 脚本功能有限,代码会非常混乱。
  • (编辑) PsExec.exe来自 SysInternals 套件 - 它使用服务来启动命令,因此它不受杀死的影响;但是,它会向 StdErr 打印一些横幅和日志信息,并且没有禁用此功能的开关。当我2>NUL用来重定向它们时,Zabbix 报告错误。

在以不同的组合尝试上述操作后,我注意到如果我调用hstartfrom invis.vbs,前者启动的命令在invis.vbs被杀死时将作为无父进程单独存在。

但是,由于我需要重定向输出,因此我要运行的命令始终采用cmd.exe …

scripting windows

6
推荐指数
1
解决办法
6730
查看次数

如何添加关闭脚本(不是使用 gpedit.msc 或活动目录)?

我创建了一个脚本,我想将其作为关机脚本部署在我的 XP 工作站上。我知道我可以使用 UI (gpedit.msc) 添加我的脚本作为关闭脚本,但我想自动部署我的脚本。我的工作站不是 Windows 域的一部分。我将使用 OCS Inventory 进行部署。

我试图向 Windows 注册表添加条目,但这不起作用。我在运行 gpedit.msc 时看不到我添加的内容。如果我用 gpedit.msc 添加一些东西,这似乎会覆盖我手动添加到注册表中的内容。

scripting windows windows-xp

6
推荐指数
2
解决办法
3万
查看次数