Questions tagged «automation»

将任何手动流程转换为可以大部分或完全“免提”运行的手动流程的领域

2
将RSA密钥放入Azure密钥库中
如何将我的密钥对(通常是id_rsa和id_rsa.pub)存储在天蓝色的密钥库中。我想将公钥放入我的GIT服务中,并允许虚拟机从Azure密钥库->中下载私钥,以便它可以安全地访问GIT。 我尝试制作一对PEM文件,然后将它们组合成一个pfx,然后将其上传为秘密文件,而我回来的文件似乎与这两个pem文件完全不同。 我还尝试了将我的秘密密钥手动输入到Azure,但是它将换行符转换为空格。

1
食谱之间共享的文件/模板
我们有多个参考相同文件和模板的食谱,并且想知道是否存在合理的方法来确保所有文件和模板都相同,以确保所有文件都不会过时。是否可以有多个配方/食谱参考的单个文件/模板?我考虑过使用符号链接,但是这对我们不起作用,因为Git不支持它们。
11 automation  chef 


4
文件更改时执行命令
我有一种情况,我每天都将.csv文件上传到特定的文件夹/ tmp / data_upload,而旧文件被新文件替换。 数据上传后,我需要运行Python脚本。为此,我有一个想法来创建一个cron作业并监视文件中的更改。我尝试使用inotify,但我对Unix域的了解不多。我怎样才能做到这一点? 一旦上传文件夹中的文件有日期更改,例如/ tmp / data_upload,我就需要执行脚本test.py。

3
远程重命名域Win 7计算机
我很难弄清楚如何远程重命名Windows 7计算机。这是为了在vSphere 5环境中自动化Win 7的构建,我正尽力而为。到目前为止,除了机器重命名是自动的(或可自动化的)之外,我已经设法使所有内容都得到了实现。 WinRM正在运行,因此远程Powershell方法可以运行。 invoke-command -computername "W7-Img3-RPT49VA" -scriptblock {commands go here; have another one} 上面的工作。我可以做诸如获取目录列表和运行命令之类的事情。但是,更改域名无效。根据这个SF问题,我在脚本块中尝试了以下操作: $comp=get-wmiobject -class computersystem ; $comp.rename("W7-clone-42") 返回ReturnValue : 5,经过大量搜索后将其翻译为“访问被拒绝”。该页面上的另一个建议: wmic computersystem rename "W7-Clone-42" 返回无用的“无效动词切换”。另一个互联网消息来源提出以下表述: wmic computersystem where Name="W7-Img3-RPT49VA" call rename name="W7-clone-42" 交替显示无效动词切换或无效参数。作为测试,我直接在管理站上(而不是通过)运行上述命令,invoke-command并且拒绝访问。 上了老学校,我将netdom复制到目标计算机。 netdom renamecomputer W7-Img3-RPT49VA /newname:W7-clone-42 这使我“访问被拒绝”。 在整个过程中,我一直在测试的凭据具有Domain Admin。目的是一旦我确定了可行的方法,就将确切的priv降低。目标计算机上的安全事件日志肯定会在所有这些过程中成功显示登录信息。 通过vSphere System Customization流程处理重命名的替代方法仍然可用。我什至有一个答案文件,但我不知道如何准备模板机以使其使用。两种方式都会为我提供所需的东西。 我想念什么?该wmic语法显然是错误的,但其他两个方法返回“拒绝访问”,所以我有它的低期望一次正确的语法,制定了工作。这是UAC交互问题吗?

5
从bash向IRC频道发送消息
我已经ircd-hybrid在Ubuntu服务器上安装了(192.168.1.2,example.com)。 我们#teamchannel经常在团队内部进行沟通。 现在的问题是:如何从发送一些短信example.com以#teamchannel从bash脚本?例如example.com: Alert! The server is rebooting now 编辑: 我发现了一个Perl脚本,它完全可以满足我的需求。

3
将VLAN(及其他)配置自动部署到Procurve交换机
我有一堆交换机,将所有部件连接到我们的DC,50个机架左右的套件上。登录其中的每一个进行配置更改已成问题,主要是在所有中继端口上添加/删除VLAN,但是每隔一段时间,我们还需要将其他配置更改推广到所有交换机。 Linux / FOSS本质上是否有任何东西可以推动交换机配置?我已经看过RANCID,虽然它的功能看起来很棒(检索配置并报告更改),但如果它支持集中修改配置并将其推出,则它会将光隐藏在蒲式耳之下。

1
在脚本中输入本地管理员用户名和密码
我的网络上有很多客户端,我希望我的脚本执行以下操作: [1]使用本地管理员详细信息打开提升权限的命令提示符。注意:我不想为每个用户输入用户名和密码。 [2]使用以下命令卸载Java:“ wmic产品,其中“'java%'之类的名称”调用uninstall” [3]然后,我想在PC重启后安装另一个Java版本。 我现在不太担心步骤2和3,但是步骤1给我带来了一些问题。我尝试了以下方法: runas命令 NirSoft程序 PowerShell 我真的只是想知道是否可以在不访问网络上的每台PC并输入本地管理员密码的情况下实现这一点。 /programming/19098101/how-to-open-an-elevated-cmd-using-command-line-for-windows 提前致谢。廷博

3
是否可以创建通用配置文件以使用PowerShell安装Windows功能?
我目前正在尝试自动化运行Windows Server 2012 R2的VM的构建。目前的挑战是自动添加角色和功能。在角色和功能向导中,有一个选项可以导出可以在PowerShell中运行的XML配置文件。 但是,浏览完XML文件后,我可以看到它特定于运行它的服务器-它包含诸如“ ComputerName”之类的字段。 如果我想运行在许多VM上安装角色和功能的脚本怎么办?我需要一个通用的配置文件,而不是针对特定计算机的个性化配置文件。 有人对此事有意见吗?

1
如何使用Powershell修改现有的计划任务?
我正在研究一些使用Powershell来更新执行各种应用程序的现有计划任务的发布自动化脚本。在我的脚本中,我可以设置应用程序的“路径”和“工作目录”,但似乎没有将更改保存回任务。 function CreateOrUpdateTaskRunner { param ( [Parameter(Mandatory = $TRUE, Position = 1)][string]$PackageName, [Parameter(Mandatory = $TRUE, Position = 2)][Version]$Version, [Parameter(Mandatory = $TRUE, Position = 3)][string]$ReleaseDirectory ) $taskScheduler = New-Object -ComObject Schedule.Service $taskScheduler.Connect("localhost") $taskFolder = $taskScheduler.GetFolder('\') foreach ($task in $taskFolder.GetTasks(0)) { # Check each action to see if it references the current …

7
如何使用Powershell禁用计划任务?
我有一个在Windows Server 2008 R2上运行的Web应用程序,该应用程序具有大量计划任务,可以处理所有后端工作。当我进行涉及数据库的软件部署时,我需要禁用所有计划的任务。目前,我有一个漫长的清单,需要手动执行,以禁用每个计划的任务-当然,对于Powershell自动化,这是一项成熟的工作。 不幸的是,Powershell文档似乎对如何禁用现有的计划任务(当然,一旦发行成功完成就重新启用它)显得束手无策。我可以获得已准备好,正在运行或已禁用的任务的列表,但是接下来呢?

5
如何自动化滑流?
多年以来,我一直使用整合式Windows安装。这很好用,但准备工作却很繁琐: 1-使用我们拥有的最新集成版本安装Windows(自动安装) 2-检查Windowsupdate以查看新增功能,并记下 3-下载每个可用的新更新 4-转到第2步,直到没有新的更新可用为止5-将它们整合到我们拥有的最新版本中(我已经使这一步骤自动化了) 我想要一种使部分或全部自动化的方法。 也许一个程序能够知道安装了哪些更新(已经看过一个,我不记得是哪个,而且我知道PowerShell可以做到这一点)...并能够下载它们?还是从本地磁盘获取它们?因此,步骤变为: 1-使用我们拥有的最新整合版本安装Windows(自动安装) 2-使用Windowsupdate直到没有新更新可用(任何方式可以自动化?) 3-使用魔术程序 4-整合 编辑:我的需求是Windows 7和2008,但目标是通用,因为其他人可能还有其他需求。

7
如何自动清除Linux用户的主目录并将其重置为默认目录?
下周我要教两个Unix课程。将在RHEL 5计算机上为用户授予一个帐户,在此期间,他们会将文件添加到其/home文件夹,更新其文件.bashrc和其他dotfile以及执行其他需要清除的常规混乱情况。 第二节课中的学生将重用第一节课中的用户帐户。我想自动清理他们的帐户,以便新用户可以重新开始。 我确定我可以编写一个运行脚本,并运行一个shell脚本,su -u $USER_ID并在其homedir中放置一组“原始”好的文件,并删除它找到的任何其他文件。还有其他工具可以帮助我进行此清理/重置操作吗?我没有使用Puppet,Chef或其他工具的经验。他们这样做会有所帮助吗? 为了提供一个问题的范围,大约有30个用户帐户,我知道所有用户ID /密码,并且它们都在同一RHEL框中创建。


3
使用Puppet部署我们自己的软件?
(对于这个问题的愚蠢,我们事先道歉。我通常是程序员,而不是系统管理员,但我本人要自己去自动化一些事情,并清理一些自动化的事情,但不是最漂亮的方法。 。:-) 我一直在研究用于将软件自动部署到一堆服务器的各种工具,例如cfengine,Puppet和Chef。到目前为止,Puppet看起来最吸引人,但我当然还没有承诺任何事情。 这些工具看起来都可以很好地完成工作,以使一堆服务器使用预打包的软件保持最新。 我不明白的是:人们如何使用一种工具(如Puppet)来管理我们自己的内部软件的部署?我想我不知所措我,因为我已经看到了一千教程展示了如何保持阿帕奇ensure => latest(这是很酷的),但是没有一个相当相当于我用例的今天,这是更多的东西一样: 当人类按下按钮时, 从版本控制存储库B中提取分支A 运行命令C进行编译 将二进制文件D复制到服务器E1到E10 在每台服务器上,运行命令F以使所有更改生效 Puppet听起来很棒,我完全看到了声明性,幂等配置优于某些shell脚本的优势,但是我还没有看到任何有关“您要将Shell脚本更新为Puppet(或Chef,或cfengine)的教程”,应该做”。有这样的事吗?对其他人来说,显而易见的是如何采用Puppet文档中提供的内容并复制我想要的行为?我只是不明白吗? 到目前为止,对我来说听起来像是,人类(#1)会手动打包Puppet外部的软件(#2和#3),手动更新Puppet配置,这会触发Puppet更新服务器。 .. 也许?(我确定您可以告诉我,这里我有点困惑。) 谢谢!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.