我有一个命令产生这样的输出: $。/命令1 word1 word2 word3 我想把这三个字作为parameter passing给另一个命令: $ command2 word1 word2 word3 如何将command1输出作为三个不同的参数$ 1 $ 2 $ 3传递给command2? 提前致谢。
有多种方法可以在系统上查找已安装的应用程序,但据我所知,没有任何方法返回与控制面板“添加删除程序”完全相同的列表。 我尝试的一些方法是: WMI通过Win32_Product和Win32Reg_AddRemovePrograms registry,x32和x64分支 例如,我在AR中有217个条目 gwmi Win32_Product 返回261项。 gp HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*, HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | ? {![string]::IsNullOrWhiteSpace($_.DisplayName) } | select DisplayName 返回119个项目。 (gwmi Win32Reg_AddRemovePrograms) + (gwmi Win32Reg_AddRemovePrograms64) | sort DisplayName -Unique 返回107个项目。 我试图用更复杂的filter,包括InstallLocation , InstallSource , InstallDate等没有成功。
我正在试图使用一个函数来填充一个数组与计算机名称传递到另一个脚本的一部分。 我正在ping一个OU中的所有计算机名称,当它回到线上时,我想将其添加到数组中。 但是,每当我运行该function,它根本就没有计算机名称。 如果我手工完成这个function,它可以正常工作。 这里是代码: Function Return-OnlinePCsInOU { [cmdletbinding()] param([Parameter(Mandatory=$true)] [String]$OU ) $computers = @() $machines = (Get-AdComputer -SearchBase $OU -Filter *).name $machines | Foreach { If (Test-Connection -ComputerName $_ -Count 1 -Quiet) { $computers += $_ } } } 运行此函数不会填充数组。 所以,通过这个,我给出了OU中所有的计算机名称: $machines = (Get-AdComputer -SearchBase $OU -Filter *).name 运行这一块获取在线机器和填充数组没有问题: $machines | Foreach { If […]
在我的MacBook Pro上,我有iTerm,并使用(黑色背景)柔和的颜色设置。 世界可写目录显示灰色文本背后的黄色背景。 这是我可以忍受的,因为当灰色被深沉的黄色所包围时,它仍然是可见的。 但是当我连接到我公司的Slackware服务器(通过ssh和tcsh作为远程端的shell)时,777个目录显示为纯绿色的实心块,因为bg和文本颜色是相同的(或足够接近以使文本不可能读)。 如何更改用于世界可读(777)目录背景的颜色? 谢谢! 布赖恩
以下脚本在Get-WmiObject : Invalid namespace的最后一行失败Get-WmiObject : Invalid namespace : $password = ConvertTo-SecureString "password" -AsPlainText -Force $cred= New-Object System.Management.Automation.PSCredential ("domain\user", $password ) Write-Host "Entering PS Session…" Enter-PSSession -Computer hyperVServer -Credential $cred Start-Sleep -s 5 $server = "servername" $query = "SELECT * FROM Msvm_ComputerSystem WHERE ElementName='" + $server + "'" $VM = get-wmiobject -query $query -namespace "root\virtualization" -computername […]
我有一堆每30分钟运行一次的cron作业。 我目前正在做一些testing,而不是设置每分钟运行cron作业,是否有一个命令,我可以执行,将立即运行cronjobs? 谢谢你的帮助。
使用CentOs,我想运行一个脚本作为用户“培训”作为系统服务。 我使用daemontools监视进程,这需要一个以root身份运行的启动脚本,并且没有tty标准。 下面我给我五个不同的尝试都失败了。 : #!/bin/bash exec >> /var/log/training_service.log 2>&1 setuidgid training training_command 这最后一行不够好,因为对于training_command,我们需要设置trqaining用户的环境。 : su – training -c 'training_command' 这看起来像( 运行一个shell脚本作为一个不同的用户 ),但提供了“ standard in must be tty ”作为苏确保tty存在可能接受密码。 我知道我可以通过修改/ etc / sudoers来使这个消失(a la https://superuser.com/questions/119376/bash-su-script-giving-an-error-standard-in-must-bea-a- tty ),但我不情愿,不确定的后果。 : sudo -u training -i bash -c 'source $HOME/.bashrc; training_command' 一个相同的主题的变化:' sudo: sorry, you must have a tty to […]
只是好奇,为什么会这样呢? 如果我运行: netstat -an | find "443" 进入命令提示符,“443”连接显示OK。 如果我在PowerShell控制台或ISE中运行相同的命令,则会出现“FIND:参数格式不正确”错误。 netstat输出没有正确pipe道find在PS? 注意:如果我运行netstat -an | findstr "443" netstat -an | findstr "443"或netstat -an | select-string "443" PS中的netstat -an | select-string "443"按预期工作。
我有以下脚本parsing人力资源输出文件,寻找员工,并输出雇用敢,名,姓,监督等信息。 我遇到的问题是,在目前的格式,我认为聘用date列被视为一个string,所以实际上它按月sorting(即1/1/01在2/2/98之前)。 有没有办法将该列映射到date/时间,以便正确sorting? Import-CSV -delimiter "`t" Output.tab | Where-Object {$_.'First Nae' -like '*And*'} | Sort-Object 'Hire Date' | ft 'Hire Date', 'First Name'
我有一个完整的文件path相对于自己的path的文件: ./Talent/152/Resume/a file name.pdf ./Talent/153/Resume/some file name.pdf ./Talent/154/Resume/yet another file name.pdf … and so on … 通过这个文件中的每一行并删除它的适当的shell命令是什么?