PowerShell 로 quuser 문자열 결 과 를 대상 으로 변환
4359 단어 powershellquserPowerShell
quser /server:XXXX
logoff sessionID /server:XXX
초기 cmd 와 Linux 의 bash 명령 과 마찬가지 로 quser 의 결 과 는 모두 문자열 입 니 다.문자열 의 처 리 는 스 크 립 트 에 있어 서 비교적 번 거 롭 습 니 다. 표준 object 대상 으로 변환 할 수 있 었 으 면 좋 겠 습 니 다.
quser 의 결 과 를 자세히 살 펴 보면 그의 출력 결과 가 매우 가지런 하 다 는 것 을 알 수 있 습 니 다. 제 가 그의 중간 빈 칸 을 쉼표 로 바 꿀 수 있다 면 그것 은 표준 csv 형식 입 니 다. 그러면 대상 으로 쉽게 바 꿀 수 있 습 니 다.유일한 문 제 는 세 션 name 이 비어 있 는 열 입 니 다. 그러면 몇 개의 빈 칸 을 교체 해 야 하 는 지 세 어 봐 야 합 니 다.
PS C:\users\yli\Documents> $a=quser /server:sydbcc02
PS C:\users\yli\Documents> $a
USERNAME SESSIONNAME ID STATE IDLE TIME LOGON TIME
smiths rdp-tcp#5 16 Active 24692+13:29 3/14/2017 9:06 AM
llederbauer rdp-tcp#4 22 Active 1:18 3/14/2017 9:18 AM
jedwards 23 Disc 1:39 3/14/2017 7:54 AM
tpicken rdp-tcp#2 24 Active . 3/14/2017 8:22 AM
okaragiaouris rdp-tcp#9 27 Active 18 3/14/2017 8:55 AM
bhue rdp-tcp#7 28 Active 12 3/14/2017 9:20 AM
mcherginets 29 Disc 1:37 3/14/2017 8:58 AM
abishop 30 Disc 2:48 3/14/2017 9:22 AM
fburns 31 Disc 2:28 3/14/2017 9:37 AM
ygordony 32 Disc 2:07 3/14/2017 10:04 AM
tmoloney rdp-tcp#0 33 Active 1:07 3/14/2017 9:30 AM
smaroo rdp-tcp#1 34 Active 1:45 3/14/2017 10:19 AM
jwoodford 35 Disc 22 3/14/2017 10:42 AM
mozard rdp-tcp#8 36 Active 56 3/14/2017 11:08 AM
gmarsh rdp-tcp#6 37 Active 41 3/14/2017 10:56 AM
mking 38 Disc 20 3/14/2017 11:11 AM
mcolgan rdp-tcp#11 39 Active 59 3/14/2017 11:16 AM
jbelgiovane rdp-tcp#12 41 Active 39 3/14/2017 11:33 AM
ndrabsch 42 Disc 3 3/14/2017 11:57 AM
직접 보면 구분 이 잘 안 돼 요. ASCII 로 바 꿔 보 세 요. 32 (빈 칸 대표) 가 16 개 예요.
$a=quser /server:sydbcc02
[int[]][char[]]$a[2]
32
108
108
101
100
101
114
98
97
117
101
114
32
32
32
32
32
32
32
32
32
32
32
114
100
112
okay, 그럼 제 가 지정 한 수량 은 2 에서 17 사이 의 빈 칸 을 모두 쉼표 로 바 꿉 니 다. 2 부터 'idle time' 이라는 이름 들 사이 에 빈 칸 이 있 으 면 바 꾸 지 마 세 요. 마지막 코드 는 다음 과 같 습 니 다.
$quser = (quser /server:sydbcc02) -replace '\s{2,17}', ',' | ConvertFrom-Csv
$quser | ft
USERNAME SESSIONNAME ID STATE IDLE TIME LOGON TIME
-------- ----------- -- ----- --------- ----------
smiths 16 Disc 3 3/14/2017 9:06 AM
llederbauer rdp-tcp#4 22 Active 1:26 3/14/2017 9:18 AM
jedwards 23 Disc 1:47 3/14/2017 7:54 AM
tpicken rdp-tcp#2 24 Active 7 3/14/2017 8:22 AM
okaragiaouris rdp-tcp#9 27 Active . 3/14/2017 8:55 AM
bhue rdp-tcp#7 28 Active 20 3/14/2017 9:20 AM
mcherginets 29 Disc 1:44 3/14/2017 8:58 AM
abishop 30 Disc 2:56 3/14/2017 9:22 AM
fburns 31 Disc 2:36 3/14/2017 9:37 AM
ygordony 32 Disc 2:15 3/14/2017 10:04 AM
tmoloney rdp-tcp#0 33 Active 1:15 3/14/2017 9:30 AM
smaroo rdp-tcp#1 34 Active 1:52 3/14/2017 10:19 AM
jwoodford 35 Disc 30 3/14/2017 10:42 AM
mozard rdp-tcp#8 36 Active . 3/14/2017 11:08 AM
gmarsh rdp-tcp#6 37 Active 48 3/14/2017 10:56 AM
mking 38 Disc 27
mcolgan 39 Disc . 3/14/2017 11:16 AM
jbelgiovane rdp-tcp#12 41 Active 47 3/14/2017 11:33 AM
ndrabsch rdp-tcp#3 42 Active . 3/14/2017 11:57 AM
alawton 43 Disc 11 3/14/2017 12:02 PM
이렇게 하면 쉽게 처리 할 수 있 고 같은 사고방식 도 다른 cmd 명령 에 사용 할 수 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Powershell 7을 사용하여 Samba 서버로 파일을 전송하는 방법.MSSQL 덤프를 복사하여 콜드 스토리지 솔루션으로 원격 Linux Samba 서버에 저장하도록 설계한 twoScripts를 공유하고 싶습니다. 모든 서버가 Windows 서버였으며 내가 이것을 만들기로 결정한 이유...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.