首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >修改函数中的PowerShell对象

修改函数中的PowerShell对象
EN

Stack Overflow用户
提问于 2018-02-12 21:57:51
回答 2查看 159关注 0票数 2
代码语言:javascript
复制
function Itil
{
    $_.Font = 'Microsoft Sans Serif, 8.25pt, style=Italic'
    $_.Text = 'Double-click to add username'
    $_.ForeColor = 'ScrollBar'
}

$Username10.Font = 'Microsoft Sans Serif, 8.25pt, style=Italic'
$Username10.Text = 'Double-click to add username'
$Username10.ForeColor = 'ScrollBar'

有没有一种方法可以在不命名对象本身的情况下将对象传递到函数中?

换句话说,我不需要为每个$username (有10个用户名文本框)重复相同的最后三行代码,而是可以使用对象的名称调用一个函数,并对该对象进行更改?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-02-12 22:04:40

Mathias提供了一种使用PowerShell过滤器的很好的方法。然而,如果你想使用一个简单的函数,这应该是可行的:

代码语言:javascript
复制
function Set-BasicProperties
{
    [CmdletBinding()]
    Param
    (
        $UiObject
    )

    $UiObject.Font = 'Microsoft Sans Serif, 8.25pt, style=Italic'
    $UiObject.Text = 'Double-click to add username'
    $UiObject.ForeColor = 'ScrollBar'
}


Set-BasicProperties $Username10
票数 1
EN

Stack Overflow用户

发布于 2018-02-12 22:03:14

如果输入对象都是引用类型,则可以遍历$input枚举器:

代码语言:javascript
复制
filter Set-UsernameFieldStyle {
    $input |ForEach-Object {
        $_.Font = 'Microsoft Sans Serif, 8.25pt, style=Italic'
        $_.Text = 'Double-click to add username'
        $_.ForeColor = 'ScrollBar'
    }
}

并像这样使用:

代码语言:javascript
复制
# Input all the elements that need to be styled this way via the pipeline:
$Username1,$Username4,$Username10 |Set-UsernameFieldStyle
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48748195

复制
相关文章

相似问题

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