반응형

PowerShell 39

기능에서 기능으로 파워셸의 명령줄 $args 전달

기능에서 기능으로 파워셸의 명령줄 $args 전달 이것은 제가 직면한 고약한 문제입니다.간단한 해결책이 있어도 놀라지 않을 것입니다. 단지 저를 따돌리고 있다는 것뿐입니다. 파워셸 스크립트로 변환해야 하는 배치 파일이 2개 있습니다. file1.bat --------- echo %1 echo %2 echo %3 file2.bat %* file2.bat -------- echo %1 echo %2 echo %3 명령줄에서 이를 C:> file1.bat one two two two two two two two two two two two two two two two two two two. (이것은 조잡한 코드 샘플입니다.) 파워셸로 전환할 때는 file1.ps1 --------- Write-Host "arg..

source 2023.10.24

단일 항목이 있는 배열로 변환

단일 항목이 있는 배열로 변환 JSON 직렬화된 배열을 만들려고 합니다.해당 배열에 하나의 항목만 포함된 경우 문자열을 얻을 수 있지만 문자열의 배열은 얻을 수 없습니다(JSON에서). 여러 항목(예상대로 작동): PS C:\> @("one", "two") | ConvertTo-JSON [ "one", "two" ] 단일 항목 배열(예상 외): PS C:\> @("one") | ConvertTo-JSON "one" 내가 뭘 빼놓았나요?파이프라인 없이 시도: PS C:\> ConvertTo-Json @('one', 'two') [ "one", "two" ] PS C:\> ConvertTo-Json @('one') [ "one" ]저도 이 문제에 부딪혔지만 제 구조가 너무 깊어서 Convert To-Json..

source 2023.10.24

Powershell 3에서 속성 이름 별칭 지정

Powershell 3에서 속성 이름 별칭 지정 아래 예를 사용하면 다음과 같습니다. Get-Service | ConvertTo-HTML -Property Name, Status > C:\services.htm SQL에서 사용할 수 있는 방법과 동일하게 속성 이름에 별칭을 지정할 수 있는지 궁금합니다. 예: Get-Service | ConvertTo-HTML -Property Name AS NEWNAME , Status AS MYNEWSTATUSNAME> C:\services.htm 위의 구문이 통하지 않을 거란 걸 알아요...속성 이름에 별칭을 붙이는 올바른 방법은 무엇입니까?select-object를 사용하는 것은 어떻습니까? get-service | select-object -property @{N..

source 2023.10.14

시스템을 다루고 있습니다.PowerShell에서 DBNull

시스템을 다루고 있습니다.PowerShell에서 DBNull 편집: 파워쉘 7 미리보기 2 현재,-not [System.DBNull]::Value에 평가합니다.$true, Joel Sallow 덕분에 pull request 9794. PowerShell에서 SQL 데이터를 가져오는 데 더 많은 시간이 소요됩니다.[시스템]에서 문제가 발생했습니다.DBNull]::가치 및 비교 시 PowerShell이 이 기능을 사용하여 동작하는 방식. 여기에 제가 본 행동의 예시와 해결책이 있습니다. #DBNull values don't evaluate like Null... if([System.DBNull]::Value){"I would not expect this to display"} # The text displa..

source 2023.10.14

PowerShell은 배치 파일에 적합한 업그레이드입니까?

PowerShell은 배치 파일에 적합한 업그레이드입니까? 서버 릴리스를 배치 파일(Windows)을 사용하여 zip 파일로 패키징하고 명령줄 버전의 WinZip을 실행합니다.이전에 우리는 이런 종류의 일을 "손으로" 했지만, 저는 배치 파일로 자동화하는 과정을 개발했습니다. 우리 제품이 복잡하기 때문에 배치 파일이 상당히 복잡해졌습니다(즉, 이번에 공개하는 섹션은 어디인가요?구성 파일도 공개하는 건가요?) 배치 파일로 인해 답답한 한계에 봉착하기 시작했습니다. 배치 파일의 "업그레이드"로 PowerShell을 조사하는 것이 좋을까요?아니면 대부분의 작업이 DOS 명령어를 발사하는 것임을 감안할 때 이는 완전한 오버킬입니까? 보너스: PowerShell이 소비할 수 있습니다.NET 어셈블리?마찬가지로 샤..

source 2023.10.14

PowerShell의 어레이에 요소를 동적으로 추가하려면 어떻게 해야 합니까?

PowerShell의 어레이에 요소를 동적으로 추가하려면 어떻게 해야 합니까? 저는 아직 파워쉘 경험이 많지 않고 앞으로 가면서 독학을 하려고 합니다. 더 큰 프로젝트를 위해 개념 증명 코드를 만들려고 합니다.여기서의 주요 목표는 함수를 사용하여 배열에 요소를 너무 동적으로 생성하고 추가하는 것입니다. 여기 내 코드가 있습니다. $testArray = @() function addToArray($Item1) { $testArray += $Item1 "###" } $tempArray = "123", "321", "453" $foldertest = "testFolder" foreach($item in $tempArray) { addToArray $item } "###" 함수가 완료될 때마다 배열이 비어 있습..

source 2023.10.09

원격 세션에서 Powershell 로그오프

원격 세션에서 Powershell 로그오프 사용자를 원격으로 로그오프하기 위해 파워셸 명령을 공식화하려고 합니다.우리는 때때로 세션을 잠그는 매우 불안정한 프로그램을 가진 터미널 서버를 가지고 있습니다.사용자를 원격으로 로그오프해야 하는데 스크립트를 실행한 사람을 로그오프하는 파워셸 문을 작성하려고 합니다.구글에서 검색해보니 다음 명령이 있었습니다. Invoke-Command -ComputerName MyServer -Command {shutdown -l} 그러나 명령어는 "잘못된 기능"을 반환합니다.Get-Process와 같은 다른 명령을 괄호 안에서 성공적으로 실행할 수 있습니다. 이 아이디어는 사용자가 서버에서 스스로 로그오프하기 위해 실행할 수 있는 스크립트에 입력하는 것입니다(잠겼을 때 시작 메..

source 2023.10.09

"net use * /delete"가 작동하지 않고 PowerShell 스크립트에서 확인을 기다리는 이유는 무엇입니까?

"net use * /delete"가 작동하지 않고 PowerShell 스크립트에서 확인을 기다리는 이유는 무엇입니까? 새 PS 드라이브를 만들기 전에 매핑된 드라이브와의 연결을 끊어야 하는 스크립트가 있습니다. 그렇지 않으면 다음 오류가 발생합니다. New-PSDrive : 둘 이상의 사용자 이름을 사용하여 동일한 사용자가 서버 또는 공유 리소스에 여러 번 연결할 수 없습니다.서버 또는 공유 리소스에 대한 이전 연결을 모두 끊고 다시 시도합니다. 그래서 나는 다음과 같은 말입니다. net use * /delete (안타깝게도 지금까지 서버 이름을 제공한 것만으로는 특정 매핑된 드라이브와의 연결을 끊을 방법을 찾을 수 없었습니다 :( ) PS가 이 라인에 올 때 원격 연결은 다음과 같습니다. \\서버 이..

source 2023.10.04

PowerShell이 명령줄 인수에서 큰따옴표를 제거합니다.

PowerShell이 명령줄 인수에서 큰따옴표를 제거합니다. 최근 저는 큰따옴표가 관련될 때마다 파워쉘의 GnuWin32를 사용하는 데 문제가 생겼습니다. 추가 조사 결과 PowerShell이 적절하게 탈출한 경우에도 명령줄 인수에서 큰따옴표를 제거하는 것으로 나타났습니다. PS C:\Documents and Settings\Nick> echo '"hello"' "hello" PS C:\Documents and Settings\Nick> echo.exe '"hello"' hello PS C:\Documents and Settings\Nick> echo.exe '\"hello\"' "hello" PowerShell의 echo cmdlet으로 전달될 때는 큰따옴표가 있지만 echo.exe 인수로 전달될 때는..

source 2023.10.04

배치 파일/Powershell 스크립트를 실행하여 재생 장치

배치 파일/Powershell 스크립트를 실행하여 재생 장치 컴퓨터(Windows 7)가 TV에 연결되어 있으며, 디지털 오디오(S/PDIF)(고화질 오디오 장치)와 헤드셋(2-Corsair CA-HS1 USB 헤드셋) 사이의 소리에 대한 출력 장치를 매우 자주 변경합니다. 나는 이것을 변경하는 배치/스크립트 파일을 실행할 수 있기를 원하므로 "볼륨 오른쪽 클릭 > 재생 장치 > "출력 장치 표시"를 하고 "기본값 설정"을 누를 필요가 없습니다. 사치스러운 문제인 건 알지만, 다른 사람한테 배울 수 있을까요? 도와주신 모든 분들 감사합니다!'1호선'을 재생 장치로 'Line 1'을 설정했습니다. start /min "" G:\......\nircmd.exe setdefaultsounddevice "Lin..

source 2023.09.24
반응형