Articles of 脚本

自动新buildAD用户的主文件夹创build和权限设置

我知道如果我们在AD用户的configuration文件选项卡中设置基础文件夹或configuration文件path,我们可以复制它,文件夹创build和权限设置将自动进行。 我的问题是,并不是所有的用户都有一个漫游configuration文件和主文件夹链接通过GPO完成。 从这些用户复制时,主文件夹不会自动创build,我必须手动创build它,并更改位于文件服务器上的该文件夹的权限和所有权。 我该怎么办? 脚本可能不错,但每次创build新用户时都需要运行脚本,我不认为我们可以将脚本链接到AD用户创build? 我想避免任何手动步骤,并保持我的GPO的方式。 在w7客户机上使用W2008r2 DC。 谢谢。

当特定的磁盘被热插入时,我如何让Linux执行一个bash脚本?

我有一套硬盘驱动器可以进行异地备份。 当其中一个磁盘重新插入时,需要执行几个步骤,我已经将其放入了一个简单的bash脚本。 我想在其中一个磁盘热插拔时自动执行脚本。 理想情况下,我应该有一个磁盘ID的列表( /dev/disk/by-id/… ),以便应该触发脚本的磁盘; 当其中一个被插入时,脚本将被运行,并且特定磁盘的ID将作为参数被传入。 作为替代scheme,每个磁盘都有一个脚本的副本,并为每个磁盘运行每个脚本。 我正在运行Ubuntu Server 14.04 LTS,并且一直在浏览与USB驱动器有关的类似问题,并将udev和hotplug看作是我可能需要使用的两个系统,但希望有人能够指向我为我的需求提供一个特定的简洁解决scheme。

如何将自定义korn shell脚本导入Nagios监视器

我们公司正在整合我们的监控解决scheme(WUG,Cacti,Zabbix)到Nagios。 我已经使用了Zabbix多年,并且正在努力了解如何让Nagios报告我已经编写了Nagios脚本的应用程序。 这些脚本已经写在客户端上,并放在“/ usr / local / nagios / etc / libexec”目录中。 脚本,一个简单的检查应用程序是否存在的脚本将根据需要返回“0”,“1”,“2”或“3”退出代码。 Nagios客户端上的“/usr/local/nagios/etc/nrpe.cfg”文件已经使用“command [command_name] = / path / to / command”节进行了编辑。 我可以find的所有文档都说要编辑服务器主机上的“commands.cfg”文件以指向“command_name”,但是打开该文件顶部的行表示不会被编辑,因为它将被覆盖,文件应放在“静态”目录或“input”目录中。 我试图弄清楚如何将命令“导入”到Nagios CCM中,而且几乎没有什么进展。 任何人都可以在正确的程序上做点什么来做到这一点,如果有一个更简单的方法来处理这个问题,看来这对于一个简单的任务来说是一个很大的努力。 TIA!

SQL Server Management Studio不是脚本化所有对象

我一直在尝试使用SQL Server 2005 Management Studio编写数据库脚本。 我无法得到它脚本的一些对象。 它脚本其他,但跳过一些。 我可以提供详细的屏幕截图 正在select的选项 包括所有表格 脚本文件所在的文件夹 该文件夹在编写脚本之前是空的 编写脚本时脚本编写过程说Sucess 目标文件夹不再为空,有一百个左右的脚本文件 一些表格的脚本不在文件夹中。 以前的SSMS不会编写一些视图。 这是一个已知的事情,生成脚本任务不生成脚本? 更新 Microsoft Connect上的已知问题,但微软无法重复步骤,所以他们closures了票。 在SQL Server 2005上失败,在SQL Server 2008上也失败。 更新二 一些基本问题: 1.什么版本的SQL Server? Microsoft SQL Server 2000 – 8.00.194 (Intel X86) Microsoft SQL Server 2005 – 9.00.3042.00 (Intel X86) Microsoft SQL Server 2008 – 10.0.2531.0 (Intel X86) Microsoft SQL […]

在bash中读取时跳过一个variables

我正在使用一个文件读取一些variables while read abc; do (something) done < filename 是否有一个优雅的方式来跳过一个variables(读取一个空值),即如果我想a = 1 b = c = 3,我应该在文件中写什么? 现在我正在放 1 "" 3 然后使用 b = $(echo $ b | tr -d \“) 但这是相当繁琐的,恕我直言 有任何想法吗?

通过FTPreplace整个网站

我有一套定期(大约每天一次)为具有相关文件夹结构的站点生成一组静态HTML页面的工具。 然后,我需要将这些文件放到生产服务器上,我的问题是服务器运行IIS(6我认为),我只有普通的FTP访问。 我需要一种方法来自动化发布新网站的过程,并且每次发布文件时都需要全部更换这些文件,例如删除整个文件夹和内容,然后放置新的文件。 我的源服务器是一个Ubuntu机器,我已经完全控制了这一点,我已经尝试使用CurlFTpFS,但它似乎太慢,我想要做什么,并locking。

用于恢复MS SQL Server 2008的4个系统数据库的命令行脚本

有人可以给我一些关于如何恢复SQL Server 2008的4系统数据库(master,msdb,model,tempdb)的build议吗? 我已经使用以下commad脚本脚本自己(在恢复master数据库时)自己做了一些testing: ::set variables set dbname=master set dbdirectory=C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA title Restoring %dbname% database net stop mssqlserver cd C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Binn sqlservr -m sqlcmd -Slocalhost -E -Q "restore database master from disk='c:\master.bak' WITH REPLACE" net start mssqlserver pause 执行sqlservr -m命令(用于在单用户模式下启动服务器实例(仅在还原MASTER数据库时才需要))后,脚本停止。 所以为了执行最后2个命令,我需要把脚本分成2个小脚本,然后依次运行它们。 有没有人有一个想法,我可以如何将它们合并成一个完全运行而不会中断的单一脚本? 我也想使用像这样的命令行脚本来恢复其他3个系统数据库。 有人可以请教我如何我需要继续? 我已经注意到恢复temdb并不是那么容易,但必须有一种方法… 期待您的咨询!

为什么TERM = xterm必须设置为我的脚本远程执行时正确工作?

我试图自动安装Debian服务器(debian 6.0 squeeze 64bit)。 部分安装需要安装Sun JRE软件包。 这个软件包有一个许可协议,必须被接受。 我有一个脚本,它使用以下几行来接受和安装JRE: echo "sun-java6-bin shared/accepted-sun-dlj-v1-1 boolean true" | debconf-set-selections apt-get install -y sun-java6-jre 这在本地执行脚本时工作正常。 但是,我需要使用ssh命令远程执行脚本,例如: ssh -i keyFile root@hostname './myScript' 这不起作用。 尤其是在apt-get install -y sun-java6-jre上失败。 看起来,尽pipe我把许可协议设定为可接受的,但是当以这种方式远程运行时,它被忽略了。 尽pipe将该值设置为true ,但在运行此命令时仍然会提示手动接受协议: ssh -i keyFile root@hostname 'apt-get install -y sun-java6-jre' 我怀疑这是与运行正确的terminal会话时照顾的环境有关,但不知道下一步要尝试修复它。 编辑0 :我通过ssh远程执行并通过本地terminal会话执行时比较了env的输出。 输出之间的唯一区别是本地terminal会话具有附加值TERM=xterm 。 编辑1 :在调用我的脚本时设置TERM环境variables,像这样ssh -i keyFile root@hostname 'export TERM=xterm; ./myScript' […]

while循环从grep读取多行

我正在AIX 5.3中编写一个脚本,它将通过df的输出循环,并检查每个卷与另一个configuration文件。 如果卷出现在configuration文件中,它将设置稍后在脚本中需要的标志。 如果我的configuration文件只有一个列,我使用for循环,这完美的作品。 然而,我的问题是,如果我使用一个while read循环来为每行填充多个variables,那么while和done之间设置的任何variables都将被丢弃。 例如,假设/netapp/conf/ExcludeFile.conf的内容是一堆包含两个字段的行: volName="myVolume" utilization=70 thresholdFlag=0 grep volName /netapp/conf/ExcludeFile.conf | while read vol threshold; do if [ $utilization -ge $threshold ] ; then thresholdFlag=1 fi done echo "$thresholdFlag" 在此示例中,即使卷出现在文件中并且其利用率大于阈值,thresholdFlag也将始终为0。 我可以在那里添加一个echo "setting thresholdFlag to 1" ,看到回声,最后还是会回显0。 有没有一个干净的方法来做到这一点? 我认为我的while循环是在一个子shell中完成的,而且我对variables的修改实际上是在done之后丢弃的局部variables。

删除终止用户安排的所有定期会议

我正在寻找一种方法来有效地移除终止用户在任职期间可能创build的所有会议。 目前,我们的小组必须授予用户邮箱的pipe理员权限,以该用户身份创build个人资料,加载Outlook,并开始清理周期性会议和客房预订。 我希望有一个更简单的方法,powershell也许,可以做这个任务。