Articles of PowerShell的

powershell:ftp目录列表(帮助脚本)

我正在尝试做一个FTP目录的列表视图。 查看部分是好的,但我无法操纵我回来的数据。 这是我使用的脚本; [System.Net.FtpWebRequest]$ftp = [System.Net.WebRequest]::Create("ftp://ftp.microsoft.com/ResKit/y2kfix/alpha/") $ftp.Method = [System.Net.WebRequestMethods+FTP]::ListDirectory #Details $response = $ftp.getresponse() $stream = $response.getresponsestream() $buffer = new-object System.Byte[] 1024 $encoding = new-object System.Text.AsciiEncoding $outputBuffer = "" $foundMore = $false ## Read all the data available from the stream, writing it to the ## output buffer when done. do { ## Allow data to […]

由于PathTooLongException,使用PowerShell和Robocopy获取ACL信息

我试图使用PowerShell获得一些networking文件夹的所有权限的列表。 不幸的是,我遇到了可怕的PathTooLongException,所以我试图使用Robocopy作为解决方法。 不过,我是一个PowerShell的新手,所以希望有一点帮助。 我提出的最简单的命令是 Get-Childitem "S:\StartingDir" -recurse | Get-Acl | Select-Object path,accestostring | Export-Csv "C:\export.csv" 这工作,做我想要的,除了我得到的例外。 如何将Robocopy插入到此语句中以绕过exception? 有什么想法吗?

获取Stop-NlbClusterNode:找不到与参数名称“Credential”相匹配的参数。 停止节点时出现错误

我正在使用以下脚本来停止计算机上的节点。 但是得到Stop-NlbClusterNode:找不到与参数名称“Credential”匹配的参数。 使用Power-shell脚本和Windows 2012停止节点时出现错误。另外,如何在此脚本中传递密码。 请指导。 #This script monitors stopped application pools along with websites on the current host $RemoteHostName = "testserver" #set hostname #import NLB module. In PS v3 these lines should be redundant and can be removed. import-module NetworkLoadBalancingClusters "Networking Load Balancing Clusters Module imported" # requests the user's credentials and assigns the credentials […]

Windows批处理脚本中的文件/文件夹select器对话框

通常,要求用户向批处理脚本提供文件名是一件杂乱的事情,不需要拼写错误,空格的path引号等等。 不幸的是,用户的准确性不是很出名。 在input文件位置直到运行时才知道的情况下,使用GUI进行文件selectinput可降低用户错误的可能性。 有没有办法调用File… Open从Windows批处理脚本File… Open样式gui文件select器或文件夹select器? 如果脚本用户安装了PowerShell或.NET,则可以。 请参阅下面的答案。 我也有兴趣看看其他人可以提供什么解决scheme。

Windows PowerShell ISE不会提示input

我使用控制台作为我的工具来pipe理汞储存库。 经典的cmd或Console2我input: hg in 和控制台提示类似于: D:\workspace\someproject>hg in http authorization required realm: Bitbucket.org HTTP user: xorty password: 显然,我input密码。 但是,当我在PowerShell控制台中input“hg in”时,它不会提示任何内容。 它只是一直说这个: Running script / selection. Press Ctrl + Break to stop Running script / selection. Press Ctrl + Break to stop 我可以使PowerShell ISE像传统控制台一样工作吗?或者PowerShell不是这样工作的吗?

PowerShell 2.0 sudo的限制

很长时间的读者,但新的海报。 我一直在为这个问题摔跤了一整天,这让我疯狂。 淘了这个网站和谷歌后,我仍然卡住了。 基本上,我无法弄清楚如何在PowerShell中使用Copy-Item CmdLet来实现“sudo”。 这是我的代码: PROFILE.PS1: # Trigger UAC to elevate the supplied command function Elevate-Process() { if($args.Length -eq 0) { error ('USAGE: ' + $MyInvocation.InvocationName + ' <executable> [arg1 arg2 arg3 …]'); } else { try { if($args.Length -eq 1) { Start-Process $args[0] -Verb RunAs; } else { Start-Process $args[0] -ArgumentList $args[1..$args.Length] -Verb […]

如何使用第四种交换操作来操作PowerShell的位置堆栈?

在PowerShell中,您可以使用pushd ( Push-Location的别名)和popd ( Pop-Location的别名)将项目推送到位置堆栈并将其popup项目。 这与bash的pushd和popdfunction非常类似,用于一堆目录。 但是bash的另外一个很好的特性是你可以使用pushd来交换堆栈中最上面两个位置。 所以你可以很快地在一个地方和另一个地方来回翻转。 而且它也需要pushd +3这样的参数,所以你可以在堆栈中的某个位置进行交换。 有没有办法用PowerShell做到这一点? 举个例子,在bash中: $ pwd /bin $ pushd ~ ~ /bin $ pwd /home/hopper $ pushd /bin ~ $ pwd /bin $ pushd ~ /bin $ pwd /home/hopper

如何在远程机器上启动.cmd文件?

我需要能够从该文件驻留在该计算机上的目录内启动位于远程计算机上的.cmd文件。 我已经尝试过: invoke-command -ComputerName test123 -ScriptBlock { cmd /cc:/myfile.cmd }在invoke-command -ComputerName test123 -ScriptBlock { cmd /cc:/myfile.cmd }中,启动.cmd,但然后失败,因为它找不到相应的.cmds,这一个启动这些都位于同一个目录中)。 有没有办法启动这个.cmd文件,并保持执行? 即,即使PowerShell窗口closures后,.cmd将继续在远程机器上运行。

如何复制整个目录结构?

我从一个目录复制10,000个文件到另一个目录。 两个目录结构都有相同的文件; 但是,尺寸可能会有所不同。 如何强制覆盖大小不同的文件,不要复制大小相同的文件? 到目前为止,我有这样的: $source = 'D:\Test1' $destination = 'D:\test2' $exclude = @('*.db','test2.log') $sourcelist = Get-ChildItem $source -exclude $exclude foreach ($file in $sourcelist){ $result = test-path -path "$destination\*" -include $file if ($result -like "False"){ #uncomment the next line to see the value being passed to the $file parameter #Write-Host $file Copy-Item "$file" -Destination "$destination" […]

Powershell – 比较两个.CSV文件并输出重复的名称

我是Powershell的新手,标题非常多,指出了我正在做的事情。 我在这里有两个.CSV文件,其中包括一个组的用户名和另一个OU。 我需要比较组的用户列表和OU,然后从AD中的组中删除重复项。 我一直在search,并find了一些线索,但是我作为一个新的Powersheller,我没有能够把我发现的一个工作命令合并到我所希望的。 这里是我想要比较的.CSV文件的格式。 不应该比较Samaccountname。 http://pastebin.com/bPNf8ExZ 提前谢谢了。