Articles of 脚本

Powershell – select对象在整个脚本中保持相同的列

好。 我只是在这里画一个空白,或者我错过了一些明显的东西。 在Powershell(V3)脚本中,我在打电话 Get-ADUser -Filter 'SAMAccoutnName -like $ADUserName' -Properties Name,SamAccountName,EmailAddress | Select-Object Name, SamAccountName, EmailAddress 它列出了我期望的列格式的数据 Name SamAccountName EmailAddress —— ————— ———— User Name username [email protected] 这不是问题。 当我在脚本中调用另一个命令(实际上是Exchange 2013) Get-Mailbox -Identity username | Select-Object Name, SAMAccountName, PrimarySMTPAddress 我只从前面的Select-Object中获取没有标题的相应列: User Name username 即使我特别要求从上面的“PrimarySMTPAddress”不同的集合。 我在这里错过了什么? 这真让我抓狂。 提前致谢。

路由器configuration出口通过期望脚本 – 用户名在启用?

我正在使用Expect脚本从我的主机提取configuration信息。 问题是我的一些主机(当inputenable命令时)会提示inputlogin名和密码。 这大部分是较老的惠普套件,但我也在其他地方碰到过。 如果是合法的语法,像下面这样的嵌套expect语句就可以做到这一点。 我怎样才能做到这一点? expect { default { send_user "\nEnable Mode Failed – Check Password\n"; exit 1 } "*\#" {} "*>" { send "enable\n" expect{ "Login" { send "$username\n" } default {} } expect "*assword" send "$enablepassword\n" expect "*\#" } } 我知道我只有轻微的语法 – 我已经看到很多引用,描述使用嵌套期望 – 但对于我的生活,我不能完全得到它。

简单的脚本来备份PostgreSQL数据库

您好我编写简单的批处理脚本来备份postgeSQL数据库,但我发现一个奇怪的问题是否pg_dump命令可以指定一个密码? 有批处理脚本: REM script to backup PostgresSQL databases @ECHO off FOR /f "tokens=1-4 delims=/ " %%i IN ("%date%") DO ( SET dow=%%i SET month=%%j SET day=%%k SET year=%%l ) SET datestr=%month%_%day%_%year% SET db1=opennms SET db2=postgres SET db3=sr_preproduction REM SET db4=sr_production ECHO datestr is %datestr% SET BACKUP_FILE1=D:\%db1%_%datestr%.sql SET FIlLENAME1=%db1%_%datestr%.sql SET BACKUP_FILE2=D:\%db2%_%datestr%.sql SET FIlLENAME2=%db2%_%datestr%.sql SET BACKUP_FILE3=D:\%db3%_%datestr%.sql SET […]

密码检查bash脚本调用期望

背景:我必须将一个文件从一台服务器复制到testing环境中的100多台服务器。 一旦文件被复制,它需要对文件的权限进行更改/validation。 这些都是Linux服务器。 他们中的大多数具有相同的login密码,但有些可能不会。 我需要在我的bash脚本中做一个循环的帮助。 这实际上是在期待。 我想做的更好或修复的地方是一些事情 预期密码的部分。 (*部分),则应在1次密码尝试失败后退出脚本,并将该IP转储到名为“fail.txt”的文本文件 理想情况下,如果没有连接到服务器,应该有一块也将IP转储到fail.txt。 我试图写一个循环的密码片,但我不确定这种思维方式是否成立。 我试着添加另一个“期望密码”,以为如果第二次得到提示,就退出,但是我很难让这个工作成功。 谢谢! #!/bin/bash while read ip; do sleep 2 expect <<- DONE set timeout 1 spawn scp yoman.txt root@$ip:/felixtemp if above command fails, dump the IP to fail.txt, otherwise continue expect yes/no { send yes\r } expect Password: { send aaaaaa\r } #if this […]

是否可以脚本重新启动到另一个操作系统一次?

在Server 2012 R2中,如果您从开始菜单中select重新启动,则可以按住Shift键,如果您设置了多重启动,则会显示一个屏幕,让您select要启动的操作系统。 此更改只是一次性更改,它不会更改将引导到的默认操作系统,下一次重新引导时会将系统引导回默认操作系统。 有没有办法使用pipe理员权限运行的脚本可以做同样的事情? 我知道我可以使用bcdedit /default <guid>永久更改默认值,然后在第二个操作系统中使用类似的脚本在启动时将其更改回原始默认值,但我更喜欢它执行“一次更改”我从换档菜单得到的行为,所以我不需要确保我改变默认回来。 是一次性改变脚本还是只有窗户本身可以执行的行动?

添加Azure帐户:unknown_user_type:未知用户inputazure自动化

当我尝试连接虚拟机时,出现以下Azure自动化错误。 也请按照此链接https://stackoverflow.com/questions/29899964/azure-powershell-automation-no-default-subscritpion-has-been-designated 1/4/2016 3:33:14 PM,错误:Add-AzureAccount:unknown_user_type:未知用户types在New-AzureVMEndpoint:16 char:16 1/4/2016 3:33:14 PM,错误:Get-AzureVM:没有指定默认订阅。 使用Select-AzureSubscription – 默认设置默认订阅。 在新Azure VMEndpoint:20个字符:20 +完成 我的代码: workflow New-AzureVM { [String] $AzureCredentialAssetName = 'AzureCredential' [String] $AzureSubscriptionIdAssetName = 'dxxxxxx-xxxxxxx' # Returns strings with status messages [OutputType([String])] # Connect to Azure and select the subscription to work against $Cred = Get-AutomationPSCredential -Name $AzureCredentialAssetName $SubId = Get-AutomationVariable -Name $AzureSubscriptionIdAssetName […]

Windows 10 – 设置更新下载时间

是否有可能在Windows 10中更改预定的下载时间? 每天我的一台Windows 10机器开始下载更新,使我的带宽饱和。 我想教他们只在晚上下载。

Powershell脚本 – 查找LogOn属性 – 如何从特定的OU?

这是我用来从Active Directory中的用户查找LogOn属性的PowerShell脚本。 现在,而不是让所有的用户,我希望它只能在特定的OU进行search。 该域看起来像这样:域 – OU(用户和组) – OU(Users和OU中的用户,OU) $as = [adsisearcher]"(&(objectClass=person)(objectCategory=user))" $as.PropertiesToLoad.Add('cn') $as.PropertiesToLoad.Add('lastlogon') $as.PageSize = 200 $as.FindAll() | ForEach-Object { $props = @{ 'CN' = ($_.properties.item('cn') | Out-String).Trim() 'LastLogon' = ([datetime]::FromFiletime(($_.properties.item('lastlogon') | Out-String).Trim())) } New-Object psObject -Property $props } | Export-Csv 'Lastlogon.csv' -NoTypeInformation

使用PERC H310 Raid控制器在Dell T7600上安装Windows 10

我们在一个主要运行CentOS 7.3的机器上工作,但是有时我们需要切换到Windows 10。 要pipe理这些更改,我们有一个PXE启动解决scheme,其中包含树选项: 开机当前安装的操作系统 重新安装CentOS(SaltStack配方的最小操作系统) 重新安装Windows 10(使用clonezilla恢复Windows 10磁盘映像的克隆) 我们面临的问题是Windows 10不支持RAID控制器PERC H310 。 所以基本上,当恢复Windows映像时,我们无法启动,因为Windows没有find驱动器。 同样的问题,当尝试一个干净的安装,Windows没有find任何本地磁盘。 我已经testing了我发现的每个解决scheme,比如在Windows安装过程中使用以前的版本驱动程序进行testing。 此外,我敢肯定的问题,因为当直接连接到主板的驱动器(所以跳过RAID控制器),它的工作原理。 任何build议解决scheme将不胜感激。 谢谢。

BASH Shell脚本帮助,备份脚本从文件名提取元数据并相应地移动文件

所以我需要build立一个shell脚本(我的一个技巧是垃圾,我认为是线性的,把所有东西都当成pipe道)连接到一个远程机器到一个特定的目录,淹没所有超过5分钟的文件,该文件的名称(下面的编码细节),然后将文件分散到相关的目录中,或者在本地备份主机上不存在的情况下创build目录。 在十几台机器上,我有目录(让我们称之为/ Prod / Data /)完整的文件名为data-HOST-v.7.mmddyy.csv 例如:date-web2-v.7.052509.csv 超过5分钟的文件需要从远程计算机上拖到本地文件夹/ backup / archive / host / year / month / day / csvs 例如/ backup / archive / web2 / 2009/05/29 / csvs 我相信我可以做一些像ls -1 | 切“-d”。 -f3提取文件的date部分,然后使用sed或awk来隔离每个部分并生成datevariables以select将文件转储到哪些目录中,做类似于抓取主机的东西,但是我不知道如何去做与那个在其上执行的文件关联。 不知道如何远程执行,也许最好先从远程机器上抓取所有文件(less于5分钟的任何文件,也许可以用find -mmin +5语句来解决这个问题)?然后在备份机器上的所有内容进行sorting。 有人会这样友好地指示我可以提供类似function的示例脚本的方向吗? 我写的一切都是命令| 命令| 命令| 等等…我想这个任务将需要一些维度。 感谢您的时间。