Articles of PowerShell的

用密码创buildwindows用户的脚本

在我们的默认Windows系统映像上,具有pipe理成功的用户使用秘密密码创build。 这用于支持目的。 我需要的是一个脚本来创build这个用户,但不暴露纯文本的密码(也许使用哈希值?有没有办法实现呢? 我可以自由使用PowerShell或任何有意义的 – 我只需要能够给这个人,而不需要他们知道密码。

通过Powershell或BATCH序列化symstore的执行

我们正在努力整合一个步骤到我们的持续集成(CI)服务器(CruiseControl.NET)中。 我们希望将从构build过程生成的debugging符号*.pdb注册到Microsoft Symbol Server中。 由Microsoft实现,符号服务器是Visual Studio用于查找C ++ / C#可执行文件的*.pdbdebugging符号的目录结构。 Microsoft提供了一个命令symstore ,它将debugging符号放在一个目录中,并根据需要填充中央符号存储目录。 symstore的麻烦是明确指出并行运行并不安全。 我们可以尝试通过BATCH或Powershell脚本禁止同时执行symstore命令的方法或策略是什么? 我们在方法上很灵活,但是因为我们在Windows平台上运行,所以BATCH和Powershell是首选解决scheme。 澄清: 对于我们的使用情况, symstore需要从两个不同的CI服务器运行,这会将符号保存在一个通用的networking驱动器上。 资源: symstore :: http://msdn.microsoft.com/en-us/library/windows/desktop/ms681417(v=vs.85).aspx

使用powershell在IIS中configuration所有绑定

我正在寻找一种方法来通过我的IIS中已经configuration的所有绑定设置 。 即时通讯使用此与Powershell中的IIS一起工作: Import-Module WebAdministration 到目前为止,我能够得到我想要的主要信息: $Websites = Get-ChildItem IIS:\Sites 我的数组$网站填写正确,并使用以下命令… $Websites[2] 我收到了这个结果: Name ID State Physical Path Bindings —- — —– ————- ————– WebPage3 5 D:\Web\Page3 http *:80:WebPage3 https *:443:WebPage3 现在,这是我难以忍受的部分: 我想检查绑定是否正确。 为了做到这一点,我只需要绑定。 我试过了: foreach ($site in $Websites) { $site = $Websites[0] $site | select-string "http" } debugging该代码显示,$ Site不包含我所期望的:“Microsoft.IIs.PowerShell.Framework.ConfigurationElement”。 我目前还不知道如何显式地获得绑定信息,以便像这样(在foreach循环中): if ($site.name -eq "WebPage3" […]

为Visual Studio命令提示符使用PowerShell

为了将所有命令行操作迁移到PowerShell,我想避免使用旧式命令控制台。 但是,Visual Studio命令提示符具有各种环境variables和默认命令提示符下找不到的path设置。 我怎样才能用这些相同的设置创build一个“Visual Studio PowerShell”?

如何在PowerShell中键入TAB字符?

任务 :默认情况下,在Windows命令提示符下按TAB键将输出文件名,而在PowerShell中则不会执行任何操作。 我希望能够以交互模式键入TAB字符,而不是通过脚本。 研究 :我在这个网站上find类似的问题,并通过谷歌search。 find的解决scheme是针对bash (Mac)或iterm (Linux),或build议更改为另一个程序,如TweakUI 。 我的问题是特定于Windows PowerShell或命令提示符。 澄清 :一个简单的testing,你的答案是否适合我的问题是在PS / CP中inputecho "1 TAB-method 2" ,其中TAB方法是你如何插入TAB字符的build议。 如果回声给出1 2 (即1后面跟着TAB空格2),那就是我正在寻找的东西。 希望有所帮助,并感谢大家花时间看问题。

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不是这样工作的吗?