PowerShell函数中把参数传入另一个函数的函数传参例子_PowerShell

本文介绍在自定义PowerShell函数时,可以使用@PSBoundParameters来将参数传递给另一函数。

下面,我们来创建一个Get-BIOS的函数,

复制代码 代码如下:

function Get-BIOS
{
    param
    (
        $ComputerName,
        $Path
    )
    Get-WmiObject -Class Win32_BIOS @PSBoundParameters
}

在这个函数中,我们并没有作任何实际的操作,只是将输入的参数打包传给了Get-WmiObject这个函数。注意,我们之前在输出PSBoundParameters变量的值时,我们是在它的前面加了一个美元符号($),即$PSBoundParameters,表示一个变量。而这里我们将参数和参数值传给另外一个函数时,我们在PSBoundParameters之前加的是一个@符号。这是重要的一点区别!

另外,我们还可以在将参数传递到另一个函数之前,对接收到的参数作一定的处理,比如去掉其它一个参数。

复制代码 代码如下:

function Get-BIOS
{
    param
    (
        $SomethingElse,
        $ComputerName,
        $Path
    )
    $null = $PSBoundParameters.Remove('SomethingElse')
    “The parameter $SomethingElse still exists but will not get splatted”
    Get-WmiObject -Class Win32_BIOS @PSBoundParameters
}

看到了吗,我们在上面把SomethingElse这个参数从$PSBoundParameters中删除掉了。这样,传递到Get-WmiObject函数的参数中,就没有这个参数了。

关于PowerShell函数将参数传递给另一函数,本文就介绍这么多,希望对您有所帮助,谢谢!

时间: 2025-01-30 00:26:15

PowerShell函数中把参数传入另一个函数的函数传参例子_PowerShell的相关文章

cstring的remove函数中的参数如何设置为一个cstring的变量名

问题描述 cstring的remove函数中的参数如何设置为一个cstring的变量名 例如 CString a: CString b: 我想在a中找到与b相同的字符段,然后用remove删除b在a中 但是remove的参数用b这个变量名字表示:怎么弄.求指导

JS中Date日期函数中的参数使用介绍

本文为大家详细介绍下JS中Date日期函数中的参数在实际使用中的介绍,感兴趣的朋友不要错过 要创建一个一个日期对象,可以使用以下的方式:   代码如下: var now=new Date()    当然,函数中没有传递任何参数,表示此对象now自动获取了当前的时间.    如果想要创建一个自定义时间的对象,则要对Date()进行参数的传递.而这个参数,必须是毫秒数(UTC时间1970年1月1日午夜起至自定义时间为止的毫秒数).    我们可以使用Date.parse()和Date.UTC()来获

c语言-把数组中的元素 循环的作为函数中的参数 报错!

问题描述 把数组中的元素 循环的作为函数中的参数 报错! 把数组中的元素 循环的作为函数中的参数 怎么会报错 麻烦前辈帮忙看看 #include<stdio.h>int ShowNumber();int main (){ int number[10]; int i ; //循环变量 //随便为number数组赋值 for(i=0;i<10;i++)// i=0 1 2 3 4 5 6 7 8 9 { number[i]=i; } for(i=0;i<10;i++) { ShowNu

在qt5中使用QListView用了一个双击槽函数QModelIndex index类型参数问题

问题描述 在qt5中使用QListView用了一个双击槽函数QModelIndex index类型参数问题 在qt5中使用QListView用了一个双击槽函数 on_listView_doubleClicked(QModelIndex index) 会传递一个参数QModelIndex index.我现在的问题是我想在其他地方也触发这个槽函数,我就是不知道怎么给QModelIndex类型参数赋值. 自己研究很长时间了,如果那位大神知道,请指教. 谢谢... 解决方案 昨天自己弄出来了.可以在别的

编程c语言-CC语言中的main函数中的参数

问题描述 CC语言中的main函数中的参数 就是int argc char *argv[ ] 这个是什么意思,怎么样进行传参的,求大神指点迷津... 解决方案 C编译器允许main()函数没有参数,或者有两个参数(有些实现允许更多的参数,但这只是对标准的扩展).这两个参数,一个是int类型,一个是字符串类型.第一个参数是命令行中的字符串数.按照惯例(但不是必须的),这个int参数被称为argc(argument count).大家或许现在才明白这个形参为什么要取这么个奇怪的名字吧,呵呵!至于英文

CString remove 中的参数怎么用一个cstring类型的变量

问题描述 CString remove 中的参数怎么用一个cstring类型的变量 假设 CString a ,b; 我想在a中删除含有b,remove的参数设置为b,怎么使用,求大神指导阿! 解决方案 CString str1 = "abcd"; CString str2 = "abcdefg"; str1 = str2.Trim(str1);

mysql的列名可以在java中作为参数传入吗

问题描述 mysql的列名可以在java中作为参数传入吗 mysql的列名可以在java中作为参数传入吗? 我用了 但不行 因为是string 但有别的方法吗? 解决方案 能说清楚点吗,就你叙述的来说根本不知道你是想干什么 解决方案二: 明确告诉你可以,只有你想不到,没有java做不了 解决方案三: ResultSet有如下重载 java代码: String getString(String columnLabel) throws SQLException; 调用 String test = r

c++在函数中new的对象数组如何在主函数中使用

问题描述 c++在函数中new的对象数组如何在主函数中使用 Student *p; int main(){ read(); p[0].getname(); //这一行去掉正常运行,写在read()里也正常 delete[] p; return 0; } int read(){ int n; string str; ifstream fin("k.txt"); fin>>n; p=new Student[n]; for(int i=0;i { fin>>str&g

实例讲解在C++的函数中变量参数及默认参数的使用_C 语言

包含变量参数列表的函数如果函数声明中最后一个成员是省略号 (...),则函数声明可采用数量可变的参数.在这些情况下,C++ 只为显式声明的参数提供类型检查.即使参数的数量和类型是可变的,在需要使函数泛化时也可使用变量参数列表.函数的系列是一个使用变量参数列表的函数的示例.printfargument-declaration-list 包含变量参数的函数 若要访问声明后的参数,请使用包含在标准包含文件 STDARG.H 中的宏(如下所述). 采用数量可变的参数的函数声明至少需要一个占位符参数(即使