Articles of 脚本

如何让客户端将GPO更新为可识别的脚本是手动添加的

所以我试图以编程方式添加login/注销/ etc脚本与GPO运行。 我将脚本添加到它们各自的/ Sysvol / blah …目录中。 我正确更新scripts.ini文件以反映新的脚本。 我更新了gpt.ini文件以反映新版本(使用正确的十进制来表示正确的hex字节)。 我也更新LDAP值。 我进入组策略pipe理,可以看到GPO。 我可以看到版本号与AD和Sysvol匹配,但是当我转到“设置”选项卡,可以看到我的脚本没有列出。 然后我通过UI编辑GPO(打开gpedit.msc)。 我可以在UI中看到我的login脚本。 我只需点击“确定”确认gpedit用户界面,刷新组策略pipe理界面中的“设置”选项卡,并提示它显示我的脚本。 所以这让我想知道那个UI在做什么,我不是? 哦,我已经尝试过“gpupdate / force”,这是一个不行的:(任何想法?

Ubuntu:如何设置只能在第一次启动时运行的初始化脚本?

我需要安装一个只在第一次启动后运行的初始化脚本。 我怎么能在Ubuntu上完成?

validation谁通过PowerShell备份了Bitlocker密钥?

我们目前在工作中使用笔记本电脑上的Bitlocker。 帮助台负责在构build系统时将Bitlocker密钥备份到AD。 我们最近碰到一个问题,那就是用户有一个BitLockerclosures的硬件问题,所以它不会超过屏幕提示恢复密钥。 没问题,我们之前有过这个,除了当我看AD时没有钥匙,这意味着有人忘了把它备份起来。 所以我随机点击一些其他的笔记本电脑对象,并find另一个没有备份。 所以这让我觉得我们需要认真研究一下,然后再发生(更高层次的员工)。 而不是通过整个笔记本电脑OU,点击Bitlocker恢复选项卡,有没有办法在PowerShell检查该标签,看看里面有什么东西? 我甚至不需要知道那里的关键,只要知道是否有数据显示它已经被备份。 如果不是这不是世界末日,但我宁愿能用脚本来做到这一点,而不是手动。 🙂 我一直在网上寻找,但到目前为止,没有发现我想要的东西,通常比我需要的要复杂得多。 谢谢你提供的所有帮助!

如何在shell脚本上使用SetUID作为非root用户运行?

我们公司的服务器运行Ubuntu 12.04(Precise)和Apache 2.我们有一个自定义的内部Web应用程序安装。 我有一个bash脚本,从源代码控制到服务器的任何更新。 只有系统中的一个用户(脚本文件的所有者)具有连接到源代码控制所需的SSH密钥,但是我希望系统上的任何用户都能够运行此脚本来更新应用程序。 我已经做了一些研究,看起来这正是devisesetuid位的目的,所以系统上的任何用户都可以运行脚本,并且脚本将以脚本所有者的用户标识运行。 然而,现代发行版似乎忽略了脚本的setuid位,因为如果执行root所拥有的脚本所带来的安全风险。 我想我可以通过一个Perl脚本来解决这个问题,但是从Precise开始,还没有suid-perl软件包。 看起来这已经被弃用了。 我发现一些网站build议通过将用户添加到sudoers文件来解决这个问题,但是我的脚本不需要root权限来运行,除了网站之外,它不会对文件系统的任何部分进行任何更改,所以我宁可不给任何人sudoer特权。 该脚本只需要脚本所有者的权限即可正常运行。 那么,用一个(不同的,非root的,非sudo)用户的UID执行一个脚本的首选的,现代的方法是什么呢?

Nginx和Lua:黑客,优化和观察

在这篇文章之后,我使用Lua来增加nginx的灵活性,并减lessweb栈的负载。我很想知道人们如何使用Lua来增强nginx的function。 有没有什么显着的黑客,优化和观察使用Lua ? 人们曾经用Nginx来发现function的文章,否则在Web服务器或反向代理中会变得复杂/不可能? 编辑: 链接: http://thechangelog.com/post/3249294699/super-nginx-killer-build-of-nginx-build-for-luajit-plus http://skillsmatter.com/podcast/home/scripting-nginx-with-lua/te-4729 http://devblog.mixlr.com/2012/06/26/how-we-use-nginx-lua-and-redis-to-beta-ify-mixlr/

用于设置密码过期的Powershell脚本

由于服务台工作人员的错误,我发现我公司AD中的100多个用户帐户已经被设置,以便他们的密码永不过期。 为了避免所有这些用户突然发现自己无法login的情况,我想运行一个脚本来设置密码到期到指定的date。 我正在使用Quest AD cmdlet,但是我只使用powershell来获得简单的脚本来获取用户列表。 我试图修改的属性是'PasswordStatus',我想将这个属性设置为“密码永不过期”,以便在特定的date。不是一个脚本的人,所以在这方面的任何帮助将是最受欢迎的。

AD集团和O365分销组

我有一个交换的O365,和一个当地的广告。 我想通过PS脚本来pipe理通讯组和通讯组成员 ,这些脚本 (通过计划任务运行)会查看用户的AD属性(现在不知道哪些属性)。 该脚本将在本地AD中进行托pipe。 所以如果我想pipe理通讯组(DG),我可以使用PS连接到我的O365,然后pipe理DG。 但我不知道如果我能在O365上从PS会话中检查AD用户的属性? 所以我想知道什么是处理这个最好的方法。 我可以在AD上pipe理DG吗?不需要连接到O365 Exchange? 这意味着我创buildAD组,启用邮件,并把我想要的用户,然后,复制将同步AD组与O365(与DirSync,如果我是正确的)。 O365交换视图中的这些组是否会被视为“分发组”? 人们将能够通过电子邮件发送这些DG? 或者我需要在O365交换方面做一些东西? 要清楚,问题是:我可以通过设置邮件地址(以及其他属性,我现在还没有),从PS(创build组)中的本地AD服务器创build一个DG,然后Exchange将它视为一个好的DG,我可以发送电子邮件给它? 随意要求更多的细节,如果需要的话。 希望我很清楚。

Ola Hallengren的SQL备份到networking位置不起作用

在过去的几年中,我在几台SQL Express服务器(2008到2012 R2)上build立了Ola Hallengren的SQL Server维护解决scheme 。 我最近已经开始有一个新的networking备份组件的问题。 过去我曾经在几台服务器上工作过,所以我知道它可以工作,但我无法弄清楚是什么阻止了它现在的工作。 作为一个兴趣点,我不是一个DBA,并且几乎不知道SQL,这就是为什么我在这里。 问题 特别是在一台服务器上,我在大约一年半前build立了一个维护计划。 它正在使用UNCpath(和其他几个命令)每晚进行备份到另一个本地服务器。 该脚本的代码如下所示: sqlcmd -E -S SERVER\INSTANCE -d master -Q "EXECUTE dbo.DatabaseBackup @Databases = 'USER_DATABASES', @Directory = '\\techstore1.domain.local\Backups', @BackupType = 'FULL', @Verify = 'Y', @CheckSum = 'Y', @CleanupTime = 14" -b 这工作很好,但一个月前停止工作。 我将其设置为在本地备份,然后添加一个string将其复制到远程位置,并在远程服务器上使用脚本清理旧备份。 不理想。 我曾尝试在命令行中运行它作为我自己和一个超级权限帐户。 这是我在任何情况下收到的错误: Msg 50000, Level 16, State 1, Server SERVER\INSTANCE, Procedure […]

我如何使用openssl从HTTP GET请求获取结果?

我需要使用openssl在shell脚本中执行一些HTTP GET请求。 下面显示了我正在使用的线路。 这是parsing以下格式的XML响应的内容。 <Result>success</Result> <Result>failure</Result> echo -e "GET /test HTTP/1.1\r\nHost:$(hostname)\r\n\r\n" | openssl 2>&1 s_client -quiet -connect server-url:443 | grep -o -P –color '(?<=Result\>).*(?=\</Result)' 这工作,并相应地返回string“成功”或“失败”。 我面临的问题是openssl命令在执行GET请求后不会终止,而是坐在那里等待更多的input。 我相信这是由于隐含的-ign_eof防止由-quiet选项引起的自动终止。 我已经尝试使用-no_ign_eof选项,但是这会导致openssl命令在GET请求收到响应之前终止,所以我不能得到响应的内容,如果我使用它。 我怎样才能修改这个命令,所以我可以传递GET请求通过stdin(要求,因为我想把它放在一个循环),但有openssl命令后,每个请求终止?

从Active Directory中导出所有组和组成员

我相对比较新的PowerShell,并试图获得与他们各自的成员在域中的所有组的列表。 以下是我现在正在处理的内容: Import-Module ActiveDirectory $OutPutFile = New-Item -type file -force "AllGroups.txt" #Filters for Groups # 2 Global distribution group # 4 Domain local distribution group # 8 Universal distribution group # -2147483646 Global security group # -2147483644 Domain local security group # -2147483640 Universal security group $D = [System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain() $Domain = [ADSI]"LDAP://$D" $Searcher = New-Object […]