Tag: powershell

PowerShell中的三元运算符

据我所知,PowerShell似乎没有所谓的三元运算符的内置expression式。 例如,在支持三元运算符的C语言中,我可以写如下的东西: <condition> ? <condition-is-true> : <condition-is-false>; 如果在PowerShell中并不存在,那么最好的方法是什么(即易于阅读和维护)来实现相同的结果?

在PowerShell中重新加载path

如果我有一个运行Powershell ISE的实例,并且我安装了一些修改PATH的东西,或者我在Powershell以外的任何地方修改它,那么我需要重新启动Powershell才能看到更新的PATHvariables。 有没有办法重新加载从Powershell内的path,而不重新启动它?

在PowerShell中多行注释

我们可以在PowerShell中一起评论多行吗? 我试图找,但没有find任何答案。 如果脚本太长,手动评论每一行是非常烦人的。

如何规范PowerShell中的path?

我有两条path: fred\frog 和 ..\frag 我可以像这样在PowerShell中一起join: join-path 'fred\frog' '..\frag' 这给了我这个: fred\frog\..\frag 但我不想那样 我想要一个没有双点的标准化path,就像这样: fred\frag 我怎么能得到这个?

PowerShell推荐的编码风格是什么?

有没有推荐的编码风格如何编写PowerShell脚本? 这不是关于如何构造代码(有多lessfunction,如果使用模块,…)。 这是关于“ 如何编写代码,使其可读 ”。 在编程语言中,有一些推荐的编码风格 (什么缩进 ,如何缩进 – 空格/制表符,在哪里做新行 ,放置花括号 ,…),但我还没有看到任何PowerShell的build议。 我特别感兴趣的是: 如何写参数 function New-XYZItem ( [string] $ItemName , [scriptblock] $definition ) { … (我发现它更像'V1'语法)或者 function New-PSClass { param([string] $ClassName ,[scriptblock] $definition )… 或(为什么要添加空的属性?) function New-PSClass { param([Parameter()][string] $ClassName ,[Parameter()][scriptblock] $definition )… 或者(我在Jaykul的代码中看到的其他格式) function New-PSClass { param( [Parameter()] [string] $ClassName , [Parameter()] [scriptblock] $definition […]

如何将PowerShell版本从2.0升级到3.0

我使用的操作系统是Windows 7,此处安装的PowerShell版本是2.0。 我可以升级到3.0或4.0版本吗? 因为有2.0版本的cmdlet无法识别。

有没有什么办法让双击.ps1文件的PowerShell脚本工作?

我将Powershell脚本分发给我的团队。 该脚本将从Vsphere客户端获取IP地址,进行mstsc连接并将其logging在共享文件中。 他们使用脚本的那一刻才知道机器的IP地址。 之后,他们总是倾向于直接使用mstsc而不是运行powershell脚本。 (因为他们正在使用mstsc我不知道他们是否频繁使用VM) 主要是他们告诉我,运行PowerShell并不是直截了当的。 我因懒惰而生病。 有没有什么办法让双击.ps1文件的PowerShell脚本工作?

Powershell脚本不接受$(美元)符号

我试图打开一个SQL数据连接使用PowerShell脚本,我的密码包含一个$符号: $cn = new-object system.data.SqlClient.SqlConnection("Data Source=DBNAME;Initial Catalog=Catagory;User ID=User;Password=pass$word;") 当我尝试打开一个连接说它login失败。

如何将命令行parameter passing给PowerShell ps1文件

多年来,我使用了cmd/DOS/Windows shell,并将命令行parameter passing给batch file。 例如,我有一个文件zuzu.bat并且在其中访问%1 , %2等。现在,我想when I am in a Cmd.exe shell调用PowerShell脚本when I am in a Cmd.exe shell执行相同的操作。 我有一个脚本, xuxu.ps1 (我已经将PS1添加到我的PATHEXTvariables以及与PowerShell关联的PS1文件)。 但是无论我做什么,我似乎都无法从$argsvariables中获取任何东西。 它总是长度为0。 如果我在一个PowerShell shell,而不是cmd.exe ,它的作品(当然)。 但是,我还不够舒适,无法全天在PowerShell环境中工作。 我不想inputpowershell.exe -command xuxu.ps1 p1 p2 p3 p4 。 我想inputxuxu p1 p2 p3 p4 。 这是可能的,如果是这样,怎么样? 我不能工作的样本是微不足道的,foo.ps1: Write-Host "Num Args:" $args.Length; foreach ($arg in $args) { Write-Host "Arg: […]

PowerShell 3的文件扩展名

我们所有人可能都知道batch file的.bat 。 但是, PowerShell 3脚本的文件扩展名是什么? 我发现.ps1和其他一些结局,但他们只为版本1。