PowerShell 21

PowerShell 스크립트에서 특정 기능을 "비공개"로 만들 수 있는 방법이 있습니까?

PowerShell 스크립트에서 특정 기능을 "비공개"로 만들 수 있는 방법이 있습니까? 셸이 시작되면 테스트할 때 사용하는 몇 가지 기능이 있는 외부 스크립트를 로드합니다.다음과 같은 경우: # Include Service Test Tools $scriptPath = split-path -parent $MyInvocation.MyCommand.Definition . $scriptPath\SvcTest.ps1 인SvcTest.ps1, 저에게는 두 가지 기능이 있습니다. function isURI ([string] $address) { ($address -as [System.URI]).AbsoluteURI -ne $null } 뿐만 아니라: function Test-Service ([string] $url..

programing 2023.10.19

실행 중인 스크립트의 소스 경로는 어떻게 찾을 수 있습니까?

실행 중인 스크립트의 소스 경로는 어떻게 찾을 수 있습니까? 이 질문에는 이미 다음과 같은 답변이 있습니다. 현재 PowerShell 스크립트의 위치를 파악하는 가장 좋은 방법은 무엇입니까? (15개 답변) 닫힘9년 전에. 실행 중인 스크립트가 어떤 경로에서 실행되었는지 알 수 있기를 원합니다. $pwd가 아닌 경우가 많습니다. 내 스크립트와 관련된 폴더 구조에 있는 다른 스크립트를 호출해야 하고 경로를 하드 코드화할 수는 있지만 "개발자"에서 "테스트"로 "프로덕션"으로 승격하려고 할 때는 불쾌하기도 하고 조금 곤란하기도 합니다.원래 파워셸 팀의 제프리 스노버가 게시한 유비쿼터스 스크립트(스카이러의 답변에 나와 있음)와 키스 세디르와 EBGreen이 게시한 변형 버전 모두 심각한 단점을 겪고 있습니다...

programing 2023.10.09

중첩된 파이프라인에서 상위 수준 $_ 파이프라인 변수에 액세스하려면 어떻게 해야 합니까?

중첩된 파이프라인에서 상위 수준 $_ 파이프라인 변수에 액세스하려면 어떻게 해야 합니까? 상위 VHD 파일의 디렉토리를 보고 어떤 VM이 해당 상위 VHD를 사용하고 있는지 평가하는 스크립트를 작성하고 있습니다. 메커니즘이 작동하지만 중첩된 파이프라인의 컨텍스트에서 자동 파이프라인 변수($_)를 참조해야 하는 문제가 발생했습니다. sudo 코드는 다음과 같습니다. For each File in Files Iterate over all VMs that have differencing disks and return all the VMs that have a disk whose parent disk is File 이를 위해 지금까지 구현한 실제 파워셸 코드는 다음과 같습니다. $NAVParentFiles = ..

programing 2023.10.04

PowerShell의 정규식 일치

PowerShell의 정규식 일치 다음을 수행할 수 있는 우아한 원라이너가 있습니까? $myMatch = "^abc(.*)" $foo -match $myMatch $myVar = $matches[1] 저는 관심이 있습니다.$myVar변수...그냥 사용.-replace: $foo = 'abcDEF' $myMatch = "^abc(.*)" $myVar = $foo -replace $myMatch,'$1' #$myVar contains DEF 저는 다음과 같은 것을 꽤 자주 사용합니다. ([regex]"^abc(.*)").match($foo).groups[1].value 이 제품은 PowerShell-y가 아니거나 최소한 PowerShell V2-y가 아닙니다. (이 제품을 다시 사용하고 있습니다.)NET 클..

programing 2023.10.04

Windows ISO 8601 타임스탬프

Windows ISO 8601 타임스탬프 Windows PowerShell의 날짜를 ISO 8601 형식으로 변환해야 합니다. 리눅스/유닉스에서는 문제가 없었습니다. TZ=0 date -d "" +%Y-%m-%dT%H:%M:%S.000Z 이제 Windows PowerShell에서도 동일한 작업을 수행해야 합니다.윈도우의 출력 형식은 Wednesday, 19. July 2017 01:06:13 어떻게 하면 되죠?PowerShell은 표준을 지원합니다.NET 시간 형식.왕복 형식은 ISO 8601을 준수합니다.그래서. Get-Date -Format "o" 2017-08-15T12:10:34.4443084+03:00 Get-Date 는 유닉스 포맷 문자열을 지원합니다.-UFormat매개 변수.재사용 가능: G..

programing 2023.09.24

FTP 업로드 및 다운로드 스크립트 방법

FTP 업로드 및 다운로드 스크립트 방법 FTP 서버에 파일을 업로드하기 위해 일괄 파일을 만들려고 합니다.수동으로 입력하면 정상적으로 작동하지만 배치 파일을 실행하면 연결된 후 중지됩니다.다음과 같이 적혀있습니다. connected to domain.com. 220 microsoft ftp server User(domain.com:(none)): 그리고 다른 건 없습니다.이게 무슨 일입니까? 아래는 제 배치 파일입니다. ftp www.domainhere.com user useridhere passwordhere put test.txt bye pause 원래 포스터가 상상했던 대로 FTP 세션을 스크립팅하는 것이 합리적인 생각이며, Expect가 도움이 될 것입니다.Windows의 배치 파일에서는 이 작..

programing 2023.09.19

파워셸을 최신 개정판으로 업데이트

파워셸을 최신 개정판으로 업데이트 저는 서로 다른 기계에서 두 가지 버전의 PowerShell을 가지고 있습니다.로컬에는 다음과 같은 것이 있습니다. 주요한 작은 빌드 개정판 5 1 17763 1007 가상 시스템에는 다음과 같은 것이 있습니다. 주요한 작은 빌드 개정판 5 1 17763 771 보다시피, 동일한 기능을 가지고 있습니다.수정판 값을 제외한 주, 주, 주, 주 및 빌드 값입니다.명령 실패의 배후에 있는지는 확실하지 않습니다. Register-PSRepository -Name $RepoKeyName -SourceLocation $RepoKeyValue -PublishLocation $RepoKeyValue -InstallationPolicy Trusted -Verbose 위의 토막글은 로컬 ..

programing 2023.09.19

선택적 통화 변수로 함수 만들기

선택적 통화 변수로 함수 만들기 PowerShell 기능에서 파라미터를 호출하여 고려해야 하는 파라미터를 생성하는 방법이 있습니까? commandlet에 의해 주어진 예(내가 하고 싶은 것을 대담하게 하는 것): Invoke-Command -computername Server01 -Scriptblock {...} 여기 기능을 사용하여 수행하고자 하는 작업의 예가 있습니다. Function DoStuff($computername, -arg2, -domain $domain) Test-parameter(-domain) if (-domain -eq $true) { use $domain } Else { $domain = "Domain1" } test-parameter($arg2) { if ($arg2 -eq $t..

programing 2023.09.09

따옴표로 구분된 문자열을 쉼표로 만드는 Powershell Array

따옴표로 구분된 문자열을 쉼표로 만드는 Powershell Array 쉼표로 구분된 문자열로 출력해야 하는 배열이 있지만 따옴표 "도 필요합니다.이것이 제가 가진 것입니다. $myArray = "file1.csv","file2.csv" $a = ($myArray -join ",") $a 에 대한 출력$a결국 file1.csv,file2.csv 제가 원하는 출력은 "file1.csv","file2.csv" 어떻게 하면 이것을 해낼 수 있을까요?여기 있습니다. [array]$myArray = '"file1.csv"','"file2.csv"' [string]$a = $null $a = $myArray -join "," $a 출력: "file1.csv","file2.csv" 당신은 탈출할 방법을 찾아야 합니다...

programing 2023.09.09