Questions tagged «powershell»

PowerShell是Microsoft的跨平台命令行和脚本实用程序。将此标签仅用于有关编写和执行PowerShell脚本的问题。跨平台版本PowerShell Core(Windows,macOS和Linux)特定的编程问题应标记为[powershell-core]。有关系统管理的问题应在“超级用户或服务器故障”时提出。


30
PowerShell说“此系统上的脚本执行被禁用。”
我正在尝试运行 命令 调用一个文件 电源外壳的脚本cmd.exe,并且出现以下错误: Management_Install.ps1 无法加载,因为此系统上禁用了脚本执行。 我跑了 Set-ExecutionPolicy -ExecutionPolicy Unrestricted 当我Get-ExecutionPolicy从电源外壳,我Unrestricted回来了。 PS C:\Users\Administrator\> Get-ExecutionPolicy Unrestricted C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\Install\Scripts\> powershell .\Management_Install.ps1 1 WARNING: Running x86 PowerShell... C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\Install\Scripts\Management_Install.ps1无法加载文件,因为此系统上禁用了脚本的执行。请参阅“ get-help about_signing”以获取更多详细信息。 在线:1字符:25 .\Management_Install.ps1 <<<< 1 CategoryInfo:未指定:(:) [],PSSecurityException FullyQualifiedErrorId:RuntimeException C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\Install\Scripts\> PAUSE Press any key to continue . . . 系统是Windows Server 2008R2。 我究竟做错了什么?


14
如何运行PowerShell脚本
如何运行PowerShell脚本? 我有一个名为myscript.ps1的脚本 我已经安装了所有必要的框架 我设置执行政策的事情 我已按照此MSDN帮助页面上的说明进行操作, 并尝试按以下方式运行它:( powershell.exe 'C:\my_path\yada_yada\run_import_script.ps1'带有或不带有--noexit) 除了输出文件名外,它什么也不返回。 没有错误,没有消息,什么都没有。哦,当我添加时-noexit,会发生同样的事情,但是我仍然在PowerShell中,必须手动退出。 .ps1文件应该运行一个程序,并根据该程序的输出返回错误级别。但是我很确定我还没有到达那儿。 我究竟做错了什么?

20
如何在PowerShell中连接字符串和变量?
假设我有以下代码段: $assoc = New-Object psobject -Property @{ Id = 42 Name = "Slim Shady" Owner = "Eminem" } Write-host $assoc.Id + " - " + $assoc.Name + " - " + $assoc.Owner 我希望这个代码片段显示出来: 42 - Slim Shady - Eminem 但是它显示: 42 + - + Slim Shady + - + Eminem …

16
设置Windows PowerShell环境变量
我发现设置PATH环境变量仅影响旧的命令提示符。PowerShell似乎具有不同的环境设置。如何更改PowerShell(v1)的环境变量? 注意: 我想永久保留更改,因此不必每次运行PowerShell时都进行设置。PowerShell是否有配置文件?类似于Unix上的Bash配置文件?

14
确定当前PowerShell脚本位置的最佳方法是什么?
每当需要引用公共模块或脚本时,我都喜欢使用相对于当前脚本文件的路径。这样,我的脚本始终可以在库中找到其他脚本。 那么,确定当前脚本目录的最佳标准方法是什么?目前,我正在做: $MyDir = [System.IO.Path]::GetDirectoryName($myInvocation.MyCommand.Definition) 我知道可以在模块(.psm1)中使用$PSScriptRoot此信息,但是在常规脚本(即.ps1文件)中没有设置此信息。 获取当前PowerShell脚本文件位置的规范方法是什么?

1
如何在PowerShell中处理命令行参数
处理命令行参数的“最佳”方法是什么? 关于“最佳”方式的问题似乎有几个答案,结果,我被困在如何处理简单的事情上: script.ps1 /n name /d domain 和 script.ps1 /d domain /n name. 是否有可以更好地处理此问题的插件?我知道我在这里重新发明轮子。 显然,我已经不是很漂亮,而且肯定不是“最好的”,但是它可以工作..而且很丑。 for ( $i = 0; $i -lt $args.count; $i++ ) { if ($args[ $i ] -eq "/n"){ $strName=$args[ $i+1 ]} if ($args[ $i ] -eq "-n"){ $strName=$args[ $i+1 ]} if ($args[ $i ] -eq "/d"){ …

7
如何将参数传递给PowerShell脚本?
有一个PowerShell名为的脚本itunesForward.ps1可使iTunes快进30秒: $iTunes = New-Object -ComObject iTunes.Application if ($iTunes.playerstate -eq 1) { $iTunes.PlayerPosition = $iTunes.PlayerPosition + 30 } 通过提示行命令执行: powershell.exe itunesForward.ps1 是否可以从命令行传递参数并将其应用到脚本中,而不是硬编码的30秒值?

15
如何在PowerShell中将多个参数传递给函数?
如果我有一个接受多个字符串参数的函数,则第一个参数似乎会获取分配给它的所有数据,其余参数将作为空传递。 快速测试脚本: Function Test([string]$arg1, [string]$arg2) { Write-Host "`$arg1 value: $arg1" Write-Host "`$arg2 value: $arg2" } Test("ABC", "DEF") 生成的输出是 $arg1 value: ABC DEF $arg2 value: 正确的输出应为: $arg1 value: ABC $arg2 value: DEF 这在多台计算机上的v1和v2之间似乎是一致的,因此很明显,我在做错事。谁能指出到底是什么?
438 powershell 




10
在PowerShell中终止脚本
我一直在寻找一种在函数内发生不可恢复的错误时终止PowerShell(PS1)脚本的方法。例如: function foo() { # Do stuff that causes an error $host.Exit() } 当然,没有这样的事情$host.Exit()。有$host.SetShouldExit(),但这实际上关闭了控制台窗口,这不是我想要的。我需要的是与Python等效的东西sys.exit(),它将停止当前脚本的执行而不再需要其他任何条件。 编辑:是的,只是exit。咄。
394 powershell 

18
PowerShell是否准备好在Windows上替换我的Cygwin Shell?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 去年关闭。 我正在辩论是否应该学习PowerShell,还是只坚持使用Cygwin / Perl脚本/ Unix shell脚本等。 PowerShell的好处是可以使没有Cygwin的队友更容易使用脚本;但是,我不知道我是否真的会写那么多通用脚本,或者人们是否会使用它们。 Unix脚本是如此强大,PowerShell是否足够接近以保证可以切换? 以下是一些我将在PowerShell中寻找的特定内容(或等效内容): grep 分类 优衣库 Perl(PowerShell与Perl的功能有多接近?) AWK sed 文件(提供文件信息的命令) 等等
384 unix  shell  powershell 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.