반응형

PowerShell 39

사용자 지정 cmdlet에서 -verbose 및 -debug 매개 변수를 적절하게 사용하는 방법

사용자 지정 cmdlet에서 -verbose 및 -debug 매개 변수를 적절하게 사용하는 방법 기본적으로 [CmdletBinding()] 특성을 가진 명명된 함수는 다음을 허용합니다.-debug그리고.-verbose(및 다른 몇 가지) 파라미터 및 미리 정의된 값을 가지고 있습니다.$debug그리고.$verbose변수들.기능 내에서 호출되는 다른 cmdlet에게 전달하는 방법을 찾고 있습니다. 내게 이런 cmdlet이 있다고 치자. function DoStuff() { [CmdletBinding()] PROCESS { new-item Test -type Directory } } 한다면-debug아니면-verbose내 기능으로 넘어갔어요, 저는 그 깃발을new-itemcmdlet.이것을 하기에 알맞은 패..

source 2023.09.19

파워셸 스크립트를 백그라운드에서 분당 한 번 실행

파워셸 스크립트를 백그라운드에서 분당 한 번 실행 파워셸 스크립트를 1분에 한 번 백그라운드에서 실행했으면 합니다.창이 나타나지 않을 수 있습니다.제가 그걸 어떻게 합니까?Windows 작업 스케줄러를 사용하여 다음과 같이 스크립트를 실행합니다. powershell -File myScript.ps1 -WindowStyle Hidden 또한 특정 사용자 계정에서 실행되는 스크립트를 생성하며, 해당 사용자가 로그온되어 있을 때만 생성되는 것은 아닙니다.그렇지 않으면 콘솔 창이 나타납니다.작업이 시스템으로 실행되도록 예약합니다.아래 명령은 powershell 콘솔 창을 표시하지 않고 백그라운드에서 스크립트를 실행하도록 스케줄링합니다. schtasks /create /tn myTask /tr "powershel..

source 2023.09.14

-명령어의 종료 코드가 스크립트의 종료 코드와 같지 않습니다.

-명령어의 종료 코드가 스크립트의 종료 코드와 같지 않습니다. PowerShell - Command "& scriptname"으로 스크립트를 실행해야 하는데, PowerShell에서 받은 종료 코드가 스크립트 자체가 반환한 종료 코드와 같다면 정말 좋겠습니다.안타깝게도 아래와 같이 스크립트가 0을 반환하면 PowerShell이 0을 반환하고 0이 아닌 값을 반환하면 1을 반환합니다. PS C:\test> cat foo.ps1 exit 42 PS C:\test> ./foo.ps1 PS C:\test> echo $lastexitcode 42 PS C:\test> powershell -Command "exit 42" PS C:\test> echo $lastexitcode 42 PS C:\test> powers..

source 2023.09.14

-verbose에 대한 Powershell 스크립트 지원

-verbose에 대한 Powershell 스크립트 지원 호출하는 .ps1 스크립트를 만들고 있습니다.Write-Verbose. 나는 이것들을 활성화/비활성화 할 수 있기를 원합니다. 저는 제가 그 일을 통과할 수 있기를 바라고 있었습니다.-Verbose스크립트를 호출할 때 플래그를 지정하면 모든 것이 작동합니다.불행하게도 이것은 사실이 아닌 것 같습니다. 자세한 메시지는 호스트에 기록되지 않습니다.조금 둘러보니 지원 -Whiff, -Confirm, -Verbose – SCRIPT에서 지원하기! 그러나 이것은 2007년의 것이며 PS 팀 구성원은 PS v2에서 내장 지원을 찾고 있다고 말했습니다. 이에 대한 업데이트가 있는 사람이 있습니까? 아니면 해당 블로그 게시물에 설명된 것과 동일한 기술을 사용해야..

source 2023.09.14

PowerShell에서 MsiExec 실행 및 반환 코드 가져오기

PowerShell에서 MsiExec 실행 및 반환 코드 가져오기 와 함께BAT/CMD간단하게 사용할 수 있는 스크립트"msiexec /i /quiet /norestart"그 다음에 확인합니다.%errorlevel%결과에 따라서 와 함께VBScript, 사용중Wscript.Shell물건Run()method, 나는 다음과 같은 결과를 얻을 수 있습니다. "result = oShell.Run("msiexec /i ...", 1, True)" PowerShell로 이 작업을 수행하려면 어떻게 해야 합니까?저는 Start-Process에 그것을 마무리하고 결과 프로세스 객체의 ExitCode 속성을 사용할 것입니다.예를들면 (Start-Process -FilePath "msiexec.exe" -ArgumentL..

source 2023.09.09

UTF-8에서 문자열 인코딩

UTF-8에서 문자열 인코딩 PowerShell에서 문자열을 UTF8로 인코딩하고 싶습니다. 제가 시도한 것은 다음과 같습니다. $consumer_key ="xvz1evFS4wEEPTGEFPHBog" $enc_consumer_key = System.Text.UTF8Encoding($consumer_key) 하지만 오류가 발생합니다. 시스템. 텍스트.UTF8인코딩이 cmdlet의 이름으로 인식되지 않습니다. 대신 사용해 보십시오. $enc = [System.Text.Encoding]::UTF8 $consumerkey ="xvz1evFS4wEEPTGEFPHBog" $encconsumerkey= $enc.GetBytes($consumerkey) 인코딩/디코드: $enc = [System.Text.Encodin..

source 2023.09.04

파워셸 최대/첫 번째/두 번째 기능

파워셸 최대/첫 번째/두 번째 기능 일단 저는.C#의 NET developer 및 LOVE LINQ 및 확장 방법그러나 스크립팅을 할 때 Enumerable 확장 메서드와 동일한 것이 필요합니다. Powershell에서 이러한 시나리오에서 작업하는 방법에 대한 모범 사례를 알려줄 수 있는 사람이 있습니까?예를 들어, 어레이에서 max 요소를 가져온다고 가정합니다. $arr = @(2, 1, 3) $max = $arr.MAX() #?? what should i do in this case? 사용Measure-Object명령: C:\PS> 2,1,3 | Measure-Object -Maximum Count : 3 Average : Sum : Maximum : 3 Minimum : Property : 또는 최..

source 2023.09.04

PowerShell - 호출된 응용 프로그램의 프로세스 ID 가져오기

PowerShell - 호출된 응용 프로그램의 프로세스 ID 가져오기 외부 응용 프로그램(예: & 'Notepad')을 호출한 다음 호출된 응용 프로그램의 프로세스 ID를 얻어야 합니다. 메모장 가져오기 =에서 모든 메모장 프로세스를 반환합니다. 다음과 같은 작업을 수행하고 싶습니다. $objApp = & 'c:\Notepad.exe' WHILE (get-process -ID $objApp.id | select -property Responding) { Start-Sleep -s 10 Echo "STILL WAITING" } Echo "Done!!" 사용하다Start-Process와 함께-PassThru다음과 같은 주장: $app = Start-Process notepad -passthru Wait-Pr..

source 2023.09.04

CMD 내부에서 PowerShell.exe를 종료하는 방법

CMD 내부에서 PowerShell.exe를 종료하는 방법 명령 프롬프트에서 다음을 입력합니다.PowerShell.exe의 내부에서 PowerShell 대화형 프롬프트를 시작합니다.cmd. 어떻게 이것을 끝내고 돌아갈 수 있습니까?cmd.exe둘 다 아닙니다ctrl+c,exit()더도break단추를 채우는 일Ctrl-Break작동하다. exit()작동할 수도 있지만 괄호를 사용하여 함수를 호출하는 것은 PowerShell 구문이 아니므로 사용하려고 합니다.()함수 매개변수로서, 그러나()PowerShell에 있는 항목이 아니므로 오류 메시지가 생성됩니다.exit(1)작동합니다, 왜냐하면(1)다음 값을 평가하는 유효한 표현식입니다.1그래서 이것은 와 같습니다.exit 1이 명령은 cmd 환경에서 %ERRO..

source 2023.08.26

PowerShell의 한 디렉터리에서 다른 디렉터리로 파일 집합을 재귀적으로 복사

PowerShell의 한 디렉터리에서 다른 디렉터리로 파일 집합을 재귀적으로 복사 모두 복사하려고 합니다.*.csproj.user재귀적으로 파일C:\Code\Trunk로.C:\Code\F2. 예: C:\Code\Trunk\SomeProject\Blah\Blah.csproj.user 복사 대상: C:\Code\F2\SomeProject\Blah\Blah.csproj.user 현재의 시도는 다음과 같습니다. 복사 항목 C:\Code\Trunk - 필터 *.csproj.user - 대상 C:\Code\F2 - 재귀 - What If 내가 얻는 것은: what if: 대상 "Item:"에서 "Copy Directory" 작업 수행C:\코드\트렁크 대상:C:\코드\F2\트렁크". 먼저, 그것은 그것들을 모두 새로..

source 2023.08.26
반응형