Questions tagged «powershell»

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

7
PowerShell:从脚本目录运行命令
我有一个PowerShell脚本,该脚本使用脚本的当前目录执行一些操作。因此,在该目录中时,运行.\script.ps1正常。 现在,我想从其他目录中调用该脚本,而无需更改脚本的引用目录。因此,我想调用..\..\dir\script.ps1并且仍然希望该脚本的行为与从其目录内部被调用时的行为相同。 我该怎么做,或者如何修改脚本以便可以从任何目录运行?
144 powershell 

6
在PowerShell中重新加载路径
如果我正在运行PowerShell ISE的实例,并且安装了可以修改PATH的东西,或者我在PowerShell之外以任何方式对其进行了修改,那么我需要重新启动PowerShell才能看到更新的PATH变量。 有没有一种方法可以从PowerShell内部重新加载路径而无需重新启动它?

4
PowerShell和-contains运算符
考虑以下代码段: "12-18" -Contains "-" 您可能以为这是true,但不是。这将评估来false代替。我不知道为什么会这样,但是确实如此。 为了避免这种情况,您可以改用以下方法: "12-18".Contains("-") 现在,表达式将评估为true。 为什么第一个代码段的行为如此?有什么特别之处-不能很好地解决-Contains吗?该文档未提及任何内容。

2
在PowerShell中写入控制台的最佳方法
我对在控制台上进行打印(回显)的各种方式有些困惑。我已经看到有多种方法可以将输出写入控制台,例如: Write-Host "Hello world1" "Hello World2" Out-Host -InputObject "Hello World3" 这三种方式都将打印到控制台。中间的代码在某种程度上更简单,更少冗长且易于使用。我还发现当您编写如下函数时: function GetValues() { "1" "2" } 它仍然在管道中返回两个字符串: 而且我仍然可以打印出这些值: foreach ($s in GetValues) { Write-Host "s: " $s } 我发现的是,仅使用加引号的字符串并不总是出现在自定义主机上,而且我不得不使用Write-Host来获取要在自定义主机上打印的值。 我不知何故感到困惑。被"Print something"认为是一个别名Write-Host或有什么意图?
142 powershell 

7
如何创建永久的PowerShell别名
我想创建一个alias的cmdlet后,我关闭的PowerShell当前会话不到期,让我们说我有这个别名: C:\Users\Aymen> New-Alias Goto Set-Location 这样可以完美地创建Goto别名,但是即使在关闭当前会话后我也想使用它,我该如何实现。 注意: PowerShell帮助系统建议我可以导出创建的别名,并在下次打开新会话时将其导入,实际上,这并不是我真正想要的,因为在我之后是否有直接明确的方法来保持别名通过不同的会话创建它
141 powershell 

4
如何在PowerShell中计算对象?
正如我在PowerShell用户指南中所阅读的那样,PowerShell的核心概念之一是命令接受并返回对象而不是文本。因此,例如,运行get-alias返回了许多System.Management.Automation.AliasInfo对象: PS Z:\>获取别名 CommandType名称定义 ----------- ---- ---------- 别名%每个对象 别名?对象在哪里 别名ac添加内容 别名asnp Add-PSSnapIn 别名猫获取内容 别名cd设置位置 别名chdir设置位置 ... 现在,如何获取这些对象的数量?

19
是否可以通过双击.ps1文件来使PowerShell脚本正常工作?
我正在向我的团队分发PowerShell脚本。该脚本是要从Vsphere客户端获取IP地址,建立mstsc连接并将其记录在共享文件中。 他们使用脚本的那一刻,他们就知道了机器的IP地址。之后,他们总是倾向于直接使用mstsc而不是运行PowerShell脚本。(由于他们使用的是mstsc,所以我不知道他们是否经常使用VM。) 主要是他们告诉我,运行PowerShell并不简单。 他们的懒惰使我感到恶心。 是否可以通过双击.ps1文件来使PowerShell脚本正常工作?

11
从Powershell ISE中的另一个PS1脚本调用PowerShell脚本PS1
我想在Powershell ISE中的第二个myScript2.ps1脚本中调用myScript1.ps1脚本的执行。 MyScript2.ps1中的以下代码在Powershell管理中正常运行,但在PowerShell ISE中不起作用: #Call myScript1 from myScript2 invoke-expression -Command .\myScript1.ps1 从PowerShell ISE执行MyScript2.ps1时,出现以下错误: 无法将术语“。\ myScript1.ps1”识别为cmdlet,函数,脚本文件或可运行程序的名称。检查名称的拼写,或者是否包含路径,请验证路径是否正确,然后重试。
137 powershell 



5
在PowerShell中忽略输出的更好(更简洁)的方法是什么?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 去年关闭。 改善这个问题 假设您有一个返回值的方法或cmdlet,但您不想使用它,也不想输出它。我发现了两种方法: Add-Item > $null [void]Add-Item Add-Item | Out-Null 你用什么?哪种方法更好/更清洁?为什么?
134 powershell  null  void 

4
在PowerShell中选择数组的所有对象上一个属性的值
假设我们有一个对象数组$ objects。假设这些对象具有“名称”属性。 这就是我想做的 $results = @() $objects | %{ $results += $_.Name } 这行得通,但是可以用更好的方法做到吗? 如果我做类似的事情: $results = objects | select Name $results是具有Name属性的对象数组。我希望$ results包含一个Names数组。 有没有更好的办法?

24
如何从PowerShell命令行查找Windows版本
如何找到我使用的Windows版本? 我正在使用PowerShell 2.0并尝试: PS C:\> ver The term 'ver' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify tha t the path is correct and try again. At line:1 char:4 + …

6
如何通过属性名称获取对象的属性值?
在PowerShell中,如何通过指定对象名称(字符串)来获取对象的属性值?我想要以下内容: $obj = get-something # View the object's members: $obj | gm # I could retrieve a property by doing so: write-host $obj.SomeProp # But for many purposes, I would really want to: write-host $obj | Get-PropertyByName "SomeProp" 在PowerShell中是否有类似于“ Get-PropertyByName”的内容?
132 powershell 

8
在Visual Studio中引用system.management.automation.dll
我开始研究PowerShell模型和管理单元开发。我注意到的第一件事是引用System.management.automation.dll。但是,在Visual Studio中,.NET选项卡没有该程序集,也无法浏览到 C:\windows\assembly\GAC_MSIL\System.Management.Automation\1.0.0.0__31bf3856ad364e35\System.Management.Automation.dll 进行基于文件的引用。 我是否被迫手动复制文件以方便参考?

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.