함수(Function) 역할 도메인/원격 함수 실행
6688 단어 function
Global: 전체 PowerShell 세션에 작용합니다. PowerShell 세션이 끝나지 않으면 Global에 의해 수정된 변수와 함수를 사용할 수 있습니다.
Script: 스크립트가 실행되는 동안에만 사용되며, 스크립트가 실행되면 스크립트에 수정된 변수와 함수를 사용할 수 없습니다.
Local: 기본 역할 영역, 변수는 현재와 끼워 넣은 역할 영역에서 볼 수 있으며, 복제 작업 문법은 현재local 역할 영역에서 변수 값을 수정할 수 있습니다.
Private: 가장 엄격한 역할 영역입니다. 변수는 현재 역할 영역에서만 유효합니다.이 키워드를 통해 하위 스크립트 블록에 변수를 숨길 수 있습니다.
전역 함수 선언:
function global:test{param($x,$y)$x * $y}
실행 함수:
test 2 3
test -y 2 -x 3
이 전역 함수는 invoke-command를 통해 원격 컴퓨터에서 실행될 때 식별되지 않습니다.
function ab{param($a,$b)$c=$a-$breturn $c}
$a=10$b=20
함수 & $function: ab 5 8
이 컴퓨터가 정의한 함수 보기:dir functions:
이 매개변수가 있는 함수를 원격 시스템에서 실행하려면 다음과 같이 하십시오.
방법 1:
1 function ab
2 {
3 param($a,$b)
4 $c=$a+$b
5 return $c
6 }
7
8 $a=10
9 $b=20
10 invoke-command -computername 172.16.129.62 -Credential $cred -scriptblock ${function:ab} -ArgumentList $a,$b
이렇게 되면, 스크립트블록에 다른 문장을 추가해서 실행할 방법이 없습니다.
scriptblock에서만 함수를 정의할 수 있습니다. 원격 컴퓨터에서 함수를 정의한 후에 호출합니다. 다음과 같습니다.
1 invoke-command -computername 172.16.129.62 -Credential $cred -scriptblock { param ($a,$b)
2 function ab
3 {
4 param($a,$b)
5 $c=$a-$b
6 return $c
7 }
8 ab $a $b
9 }-ArgumentList $a,$b
param ($a, $b) [또는 Function FunctionName ($a, $b)] 의 변수는 순서대로 수신됩니다. - ArgumentList 부분의 첫 번째 변수는 $a이고 두 번째 변수는 $b입니다.만약-argumentList 부분의 $a가 뒤에 있고 $b가 앞에 있다면 $b의 값은 첫 번째 변수이고 $a의 값은 두 번째 변수입니다.
-argumentList의 $a, $b는 실제로param의 $a, $b와 아무런 관계가 없습니다.
방법 2:
1 function localFunc($name,$age){
2 write-host “name=$name,age=$age”
3 }
4
5 function Get-FuncDef($name)
6 {
7 $func="Function:\$name"
8 if(Test-Path $func)
9 {
10 return 'function {0} {{ {1} }}' -f $name,(dir $func).Definition
11 }
12 }
13
14 Invoke-command -ComputerName localhost -ScriptBlock {
15 param($funcDef,$name,$age)
16 Invoke-Expression $funcDef
17 localFunc -name $name -age $age
18 } -ArgumentList (Get-FuncDef localFunc),'xiaoxiaoJiao',30
방법 2:http://www.pstips.net/question/2634.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
콜백 함수를 Angular 하위 구성 요소에 전달이 예제는 구성 요소에 함수를 전달하는 것과 관련하여 최근에 직면한 문제를 다룰 것입니다. 국가 목록을 제공하는 콤보 상자 또는 테이블 구성 요소. 지금까지 모든 것이 구성 요소 자체에 캡슐화되었으며 백엔드에 대한 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.