2017-04-21 4 views
2

나는> 20MB를 사용하는 모든 processess의 수를 반환하는 파워 쉘 5.0/ISE

(Get-Process | Where-Object {$_.WorkingSet64 -gt 20mb}).Count 

를 사용하여 제안 예제 코드를 가지고있다.

작동하지만 입력 할 때 Intellisense 또는 "Tab"키가이 속성을 표시하지 않고 오해의 소지가있는 개별 프로세스의 속성을 표시합니다.

항목 속성을 지정하면 해당 속성의 목록 만 제공되지만 일반적으로 목록 집계를 비롯하여 모든 유효한 속성이 무엇인지 쉽게 볼 수있는 방법이 있다는 것을 알고 있습니다. 스크립트를 작성할 때이 여전히 표시 -

심지어 변수

$processes = Get-Process | Where-Object {$_.WorkingSet64 -gt 20mb} 

에 할당하는 것은 나에게 할당 실제로하고 실행하고 값이 할당 한 후에 때까지 $processes의 유효한 속성으로 "백작"표시되지 않습니다 개별 항목의 속성

내게있어 Intellisense/Tab 도움말은 모든 종류의 옵션을 처리하지 못합니다. 수백 개의 개체/함수와 속성/매개 변수를 기억할 필요가 없습니다.

이 상황을 개선 할 수있는 방법이 있습니까? 일부 구문 트릭을 놓친 적이 있습니까?

Get-Process | Get-Member 

때로는 거기에 숨겨진 속성 만 볼 수있는 방법은 당신이 -force 스위치를 추가하는 경우 :

답변

2

객체의 모든 속성을 찾을 수있는 올바른 방법은 파이프에 Get-Member에 출력 :

Get-Process | Get-Member -Force 

count 속성은 항상 컬렉션 개체에 사용할 수 있지만 명시 적 속성으로 나열되지 않은 자동 속성입니다. 자동 속성의 또 다른 예는 length입니다.

+0

흠, 아마도 나는 명확하지 않았습니다. 결과적으로 프로퍼티의 목록을 반환하고 싶지는 않습니다. "* 알면서도"알 필요가 없거나, 테스트 코드를 실행하여 찾을 수있는 * 가능한 옵션이 무엇인지 * 알고 싶습니다. 예를 들어 Intellisense 또는 이중 탭 옵션을 사용하여 유효한 옵션을 표시 할 수 있습니다. 저는 지난 13 년 동안 C# 프로그래머였습니다. 그래서 저는 이런 종류의 도움에 익숙해졌습니다. 꽤 오래되었습니다! 이는 절대적으로 학습과 생산성 향상에 도움이됩니다. PowerShell이 ​​절반 만 구현 한 경우, 아무 것도없는 것보다 더 나쁜 것을 발견했다고 생각합니다. (최소한 여러분이 서있는 곳을 어디에서 알 수 있습니까?) – kpollock

+1

앞에서 보았 듯이 intellisense는 객체의 모든 속성을 반환합니다. 기억해야 할'count'와'length'와 같은 자동적 인 것들을 제외하고는 언제나 사용할 수 있습니다. –

+0

이번 FYI에 대한 대화를 시작했습니다. http://chat.stackoverflow.com/rooms/info/142251/powershell-5-0-ise-intellisense –

2

을 사용하면 원하는 배열 유형을 쉽게 사용할 수 있습니다.

$processes = @(Get-Process | Where-Object {$_.WorkingSet64 -gt 20mb}).에 "개수"와 다른 배열 속성이 표시됩니다.

그 외에도, Intellisense에는 다양한 제한 사항/단점이 있지만 한숨을 쉬어 야한다고 가정 해 보겠습니다.