首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据Powershell中的项数递增变量

根据Powershell中的项数递增变量
EN

Stack Overflow用户
提问于 2020-06-24 23:19:08
回答 1查看 73关注 0票数 0

我对PS比较陌生,但在更广泛的IaC工作流程中使用PS。我有以下脚本,它检查安装的服务的数量,并将端口号变量递增1。

代码语言:javascript
复制
$Service = Get-Service Test* | Select-Object Name
If( $Service.Name.count -eq 0){
$port = 12000 }
If( $Service.Name.count -eq 1){
$port = 12001 }
If ( $Service.Name.Count -eq 2){
$port = 12002 }
If ( $Service.Name.Count -eq 3){
$port = 12003 }

不幸的是,这并不像我希望的那样动态,因为如果有3个以上的服务,脚本就会失败。如何根据现有的服务数量动态递增端口号?端口号从12000开始,如果安装了其他服务,则端口号为12001,如果检测到第三个服务,则端口号为12002,依此类推。

EN

回答 1

Stack Overflow用户

发布于 2020-06-25 00:03:57

如果您确保$Service对象是一个集合,则可以遵循comment by AdminOfThings中的建议:

代码语言:javascript
复制
$Service = @(Get-Service Test* | Select-Object Name)
$port = 12000 + $Service.Count

否则,您将遇到以下错误:

代码语言:javascript
复制
$Service = Get-Service Test* ; $Service; $Service.Count

在此对象上找不到属性'Count‘。验证该属性是否存在。第1行: char:42 + $Service =获取服务测试*;$Service;$Service.Count +~+ CategoryInfo : NotSpecified:(:) [],PropertyNotFoundException + FullyQualifiedErrorId : PropertyNotFoundStrict

代码语言:javascript
复制
$Service = Get-Service Te* ; $Service; $Service.Count

状态名称DisplayName -运行TermService远程桌面服务时,在此对象上找不到属性'Count‘。验证该属性是否存在。第1行: char:40 + $Service =获取服务Te*;$Service;$Service.Count +~+ CategoryInfo : NotSpecified:(:) [],PropertyNotFoundException + FullyQualifiedErrorId : PropertyNotFoundStrict

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62558427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档