Tag: powershell

如何使用PowerShell执行.sql文件?

我有一个 。 sql文件。 我想通过Powershell脚本传递连接string的细节,并调用一个.sql文件。 我正在search,并提出了一个与Invoke-sqlcmd相关的cmdlet。 当我试图find一个对应于SQL的模块时,我没有在我的机器上find任何一个模块。 我应该在我的机器上安装任何东西(机器已经有SQL Server Management Studio 2008 R2)来获取模块,或者有没有简单的方法来使用Powershell来执行.sql文件?

在PowerShell中无效合并

在PowerShell中是否有一个空合并运算符? 我想能够在PowerShell中执行这些C#命令: var s = myval ?? "new value"; var x = myval == null ? "" : otherval;

确定当前的PowerShell Process是32位还是64位?

在x64位操作系统平台上运行PowerShell脚本时,如何在脚本中确定运行脚本的PowerShell版本(32位或64位)? 背景 默认情况下,32位和64位版本的PowerShell都安装在64位平台(如Windows Server 2008)上。这可能会导致运行PowerShell脚本时遇到困难,而脚本必须针对特定体系结构(即使用64位对于SharePoint 2010的脚本,为了使用64位库)。 相关问题: 针对PowerShell的x64与x86变异编程的最佳方法是什么? 这个问题涉及针对32位和64位体系结构运行的代码。 我的问题处理的情况下,当你想确保脚本只运行在正确的版本。

如何将所需的parameter passing给Powershell ISE中的脚本?

见标题。 我在脚本的头部指定了所需的参数: param ($G_ARCHIVE = $(throw "Need file to upload!"), $G_LOGFILE = $(throw "Need logfile!")) 当我想用Powershell ISEdebugging脚本时:如何填充这些参数?

如何在PowerShell中进行TDD和unit testing?

随着MS Powerding到所有新的服务器产品,我开始(不情愿)认为我需要认真对待。 TDD是“认真对待”的一部分。 你有没有find好的方法来unit testing电源shell脚本? 我发现Geek Noise先生嘲笑的样品 – 但我真的很喜欢RhinoMocks 。 Brian Hartsock有一个MS Test的PowerShellstring运行testing样本。 有点哈克,但似乎工作。 我想要的是Powershell TDD的体验,就像“真实”的语言一样干净。 更新澄清: 前两个答案试图引导我远离testingPowershell。 意见很有趣。 我不想知道在PowerShell中testing是否是个好主意。 这是一个应该在另一个论坛上提出的主观问题。 我想要一个解决scheme来unit testingPowerShell。 如果你认为这是一个坏主意(可能是),把它当作一个有趣的学术问题。 是的,脚本语言将不同的系统粘合在一起。 但是,正如已经指出的那样,用dynamic语言来模拟和断开接缝也是很容易的。 我不是在问“debugging”。 debugging是一个非常有用的话题。 我会让别人问这个问题 也许PS脚本应该很简单。 这种语言支持模块化,在PS中实现复杂的stream程是不可避免的(即使是一个坏主意)。 这个问题的答案不是“你不能”。 我可以看到(从链接的博客 – 这是有点老),有些人已经在这个问题上取得了进展。 重新说明: 如何以xUnit的风格实现Powershell逻辑的自动化testing? 集成testing很有趣,unit testing可以打破最有趣的依赖关系。

如何使用Invoke-Command传递命名参数?

我有一个脚本,我可以通过Invoke-Command远程运行 Invoke-Command -ComputerName (Get-Content C:\Scripts\Servers.txt) ` -FilePath C:\Scripts\ArchiveEventLogs\ver5\ArchiveEventLogs.ps1 只要我使用默认参数,它工作正常。 但是,脚本有2个名为[switch]的参数(-Debug和-Clear) 如何通过Invoke-Command传递参数? 我试过-ArgumentList,但我得到的错误,所以我必须有语法错误或什么的。 任何帮助是极大的赞赏。

使用PowerShell脚本执行EXE文件

我试图使用PowerShell脚本执行一个EXE文件。 如果我使用命令行,它没有问题(首先我提供可执行文件的名称和一系列参数来调用它): "C:\Program Files\Automated QA\TestExecute 8\Bin\TestExecute.exe" C:\temp\TestProject1\TestProject1.pjs /run /exit /SilentMode 但是,在脚本中做同样的事情会返回一个错误: 术语 “C:\ Program Files \ Automated QA \ TestExecute 8 \ Bin \ TestExecute.exe”C:\ temp \ TestProject1 \ TestProject1.pjs / run / exit / SilentMode 不被识别为cmdlet的名称,函数,脚本文件或可操作的程序。 检查名称的拼写,或者如果包含path,请validationpath是否正确,然后重试。 (我使用“&”运算符来调用该命令。) 我该如何解决这个问题?

.ps1不能被加载,因为脚本的执行在这个系统上被禁用了?

我运行这个代码从asp.net应用程序执行power shell: System.Management.Automation.Runspaces.Runspace runspace = System.Management.Automation.Runspaces.RunspaceFactory.CreateRunspace(); runspace.Open(); System.Management.Automation.Runspaces.Pipeline pipeline = runspace.CreatePipeline(); pipeline.Commands.AddScript(@"\\servername\path"); pipeline.Commands.Add("Out-String"); Collection<PSObject> results = pipeline.Invoke(); runspace.Close(); 但我得到的错误: .ps1无法加载,因为在此系统上禁用了脚本的执行。 请参阅“get-help about_signing”了解更多详情。 相同的代码从命令提示符或Windows(winform)应用程序运行良好。

如何获得用户所属的所有组?

PowerShell的Get-ADGroupMember cmdlet返回特定组的成员。 是否有一个cmdlet或属性来获取特定用户所属的所有组? 我解决了我的错误: Get-Member应该是Get-ADGroupMember 。

如何开始使用PowerShell?

我曾经玩过PowerShell V1的早期testing版,但从“黄金版”开始就没有用过它。 开始使用PowerShell的最佳方式是什么? 我应该使用哪个版本的PowerShell(V1.0 vs 2.0 CTP)? 你用什么PowerShell? 是否有任何使PowerShell更简单的工具(即开发环境)?