WinServer 2012R2 เจตเจฟเฉฑเจš RDP เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจธเฉˆเจธเจผเจจเจพเจ‚ เจฒเจˆ เจ—เฉˆเจฐ-เจชเฉเจฐเจฌเฉฐเจงเจ• เจฆเฉ‡ เจฎเจจเฉเฉฑเจ–เฉ€ เจธเจผเฉˆเจกเฉ‹ เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจฒเจˆ เจ‰เจชเจฏเฉ‹เจ—เจคเจพ

เจเจ‚เจŸเจฐเจชเฉเจฐเจพเจˆเจœเจผ เจฆเฉ€ เจ•เฉเจ†เจฐเฉฐเจŸเฉ€เจจ เจชเฉ€เจฐเฉ€เจ…เจก เจฆเฉŒเจฐเจพเจจ เจธเจฎเฉฑเจธเจฟเจ† เจนเฉ‡เจ  เจฒเจฟเจ–เฉ€เจ†เจ‚ เจฌเจฃ เจ—เจˆ: เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจธเฉŒเจซเจŸเจตเฉ‡เจ…เจฐ 'เจคเฉ‡ เจธเฉ‡เจตเจพ เจ…เจคเฉ‡ เจธเจฒเจพเจน เจ•เจฐเจจ เจตเจพเจฒเฉ‡ เจฎเจพเจนเจฐเจพเจ‚ เจฆเฉเจ†เจฐเจพ เจฆเจซเจคเจฐเจพเจ‚ เจฆเฉ‡ เจฆเฉŒเจฐเฉ‡ เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€ เจจเฉ‚เฉฐ เจ˜เจŸเจพเจ‰เจฃเจพ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจœเจผเจฐเฉ‚เจฐเฉ€ เจนเฉˆ, เจ…เจคเฉ‡ เจธเจชเฉฑเจธเจผเจŸ เจคเฉŒเจฐ 'เจคเฉ‡, เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจ…เจ•เจธเจฐ เจ–เฉ‹เจœ เจ•เจฐเจจ เจฆเฉ€ เจ‡เฉฑเจ›เจพ เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ เจฎเจพเจนเจฐเจพเจ‚ เจฆเฉ€ เจฎเจฆเจฆ เจฆเฉ€ เจฆเฉเจฐเจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค เจฎเฉเฉฑเจฆเจพ เจ–เฉเจฆ, เจ‰เจน เจ•เจนเจฟเฉฐเจฆเฉ‡ เจนเจจ "เจ‰เจน เจ†เจ‰เจฃเจ—เฉ‡ - เจ‰เจน เจฎเจฆเจฆ เจ•เจฐเจจเจ—เฉ‡ - เจ‰เจน เจ‡เจน เจ•เจฐเจจเจ—เฉ‡, เจชเจฐ เจฎเฉˆเจ‚ เจธเจฟเจ—เจฐเจŸ เจชเฉ€เจตเจพเจ‚เจ—เจพ/เจชเฉ€เจตเจพเจ‚เจ—เจพ, เจ†เจฆเจฟเฅค" เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจฐเจฟเจฎเฉ‹เจŸ เจธเจ•เฉเจฐเฉ€เจจ เจฆเฉ‡เจ–เจฆเฉ‡ เจนเฉ‹ เจคเจพเจ‚ เจธเจฐเจตเจฐ เจจเฉ‚เฉฐ เจธเจพเจ‚เจเจพ เจ•เจฐเจจ เจตเฉ‡เจฒเฉ‡ เจŸเฉˆเจฒเฉ€เจซเจผเฉ‹เจจ เจธเจฒเจพเจน เจตเจงเฉ‡เจฐเฉ‡ เจชเฉเจฐเจญเจพเจตเจธเจผเจพเจฒเฉ€ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค

WinServer 2012R2 เจตเจฟเฉฑเจš RDP เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจธเฉˆเจธเจผเจจเจพเจ‚ เจฒเจˆ เจ—เฉˆเจฐ-เจชเฉเจฐเจฌเฉฐเจงเจ• เจฆเฉ‡ เจฎเจจเฉเฉฑเจ–เฉ€ เจธเจผเฉˆเจกเฉ‹ เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจฒเจˆ เจ‰เจชเจฏเฉ‹เจ—เจคเจพ

เจธเจพเจกเฉ€ เจธเจพเจˆเจ•เจฒ เจฆเฉ€ "เจ•เจพเจข" เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจฒเฉ‡เจ– เจฆเฉ‡ เจตเจฟเจธเจผเฉ‡ 'เจคเฉ‡ เจธเจฎเจเจฆเจพเจฐ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจธเจพเจนเจฎเจฃเฉ‡ เจ†เจˆ: RDS เจธเจผเฉˆเจกเฉ‹ - เจตเจฟเฉฐเจกเฉ‹เจœเจผ เจธเจฐเจตเจฐ 2012 R2 เจตเจฟเฉฑเจš RDP เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจธเฉˆเจธเจผเจจเจพเจ‚ เจฒเจˆ เจธเจผเฉˆเจกเฉ‹ เจ•เจจเฉˆเจ•เจธเจผเจจ เจœ เจตเจฟเฉฐเจกเฉ‹เจœเจผ เจธเจฐเจตเจฐ เจตเจฟเฉฑเจš เจ…เจฃเจ…เจงเจฟเจ•เจพเจฐเจค เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจธเจผเฉˆเจกเฉ‹ เจฎเฉ‹เจก เจœ RDP เจธเฉˆเจธเจผเจจเจพเจ‚ เจฆเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ เจธเฉŒเจ‚เจชเจฃเจพ. เจ‰เจนเจจเจพเจ‚ เจธเจพเจฐเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ•เฉฐเจธเฉ‹เจฒ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจธเจผเจพเจฎเจฒ เจนเฉˆ, เจ‡เฉฑเจฅเฉ‹เจ‚ เจคเฉฑเจ• เจ•เจฟ เจ‡เฉฑเจ• เจธเจงเจพเจฐเจจ เจธเฉฐเจตเจพเจฆ เจฆเฉ‡ เจคเฉฑเจค เจฆเฉ‡ เจจเจพเจฒ.

เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ€ เจธเจพเจฐเฉ€ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจ‰เจนเจจเจพเจ‚ เจฒเจˆ เจนเฉˆ เจœเฉ‹ เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจ…เจธเจงเจพเจฐเจจ เจตเจฟเจ—เจพเฉœเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจฐเจฆเจพเจธเจผเจค เจ•เจฐเจฆเจพ เจนเฉˆ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ เจจเจคเฉ€เจœเฉ‡ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฒเจˆ, เจฌเฉ‡เจฒเฉ‹เฉœเฉ‡ เจขเฉฐเจ—เจพเจ‚ เจฆเฉ€ เจ•เจพเจข เจ•เฉฑเจขเจฃเจพ.
"เจชเฉ‚เจ› เจฆเฉเจ†เจฐเจพ เจฌเจฟเฉฑเจฒเฉ€ เจจเฉ‚เฉฐ เจ–เจฟเฉฑเจšเจฃ" เจจเจพ เจ•เจฐเจจ เจฒเจˆ, เจฎเฉˆเจ‚ เจ†เจ–เจฐเฉ€ เจจเจพเจฒ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจพเจ‚เจ—เจพ: เจฌเจพเจˆเจ• เจ‰เจชเจฏเฉ‹เจ—เจคเจพ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจ”เจธเจค เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฒเจˆ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ€ เจนเฉˆ เจเจกเจฎเฉ€เจฒเจฟเฉฐเจ•, เจœเจฟเจธ เจฒเจˆ เจ‡เจธเจฆเฉ‡ เจฒเฉ‡เจ–เจ• เจฆเจพ เจงเฉฐเจจเจตเจพเจฆ.

I. เจ•เฉฐเจธเฉ‹เจฒ เจ…เจคเฉ‡ เจธเจผเฉˆเจกเฉ‹ RDPเฅค

เจจเจพเจฒ เจตเจฐเจคเจฃ เจฆเฉ‡ เจฌเจพเจ…เจฆ เจธเจฐเจตเจฐ เจฎเฉˆเจจเฉ‡เจœเจฐ เจ•เฉฐเจธเฉ‹เจฒ เจฆเฉ‡ เจชเฉเจฐเจฌเฉฐเจงเจ• เจ…เจงเจฟเจ•เจพเจฐ -> QuickSessionCollection -> เจฆเจฟเจฒเจšเจธเจชเฉ€ เจตเจพเจฒเฉ‡ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฆเฉ‡ เจธเฉˆเจธเจผเจจ 'เจคเฉ‡ เจ•เจฒเจฟเฉฑเจ• เจ•เจฐเจ•เฉ‡, เจชเฉเจฐเจธเฉฐเจ— เจฎเฉ€เจจเฉ‚ เจคเฉ‹เจ‚ เจธเจผเฉˆเจกเฉ‹ เจฆเฉ€ เจšเฉ‹เจฃ เจ•เจฐเจ•เฉ‡ เจธเจพเจซเจŸเจตเฉ‡เจ…เจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฟเจตเฉ‡เจ‚ เจ•เจฐเจจเฉ€ เจนเฉˆ เจฌเจพเจฐเฉ‡ เจจเจฟเจฐเจฆเฉ‡เจธเจผ เจฆเฉ‡เจฃ เจตเจพเจฒเฉ‡ เจ•เจฐเจฎเจšเจพเจฐเฉ€เจ†เจ‚ เจฒเจˆ, เจ‡เฉฑเจ• เจตเจฟเจ•เจฒเจช เจจเจนเฉ€เจ‚ เจนเฉˆ, เจ‡เฉฑเจ• เจนเฉ‹เจฐ "เจฒเฉฑเจ•เฉœเฉ€" เจตเจฟเจงเฉ€ เจฎเฉฐเจจเจฟเจ† เจ—เจฟเจ† เจธเฉ€, เจ…เจฐเจฅเจพเจค:

1. เจธเฉˆเจธเจผเจจ เจฆเฉ€ RDP id เจฆเจพ เจชเจคเจพ เจฒเจ—เจพเจ“:

query user | findstr Administrator

เจœเจพเจ‚:

qwinsta | findstr Administrator 

เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ "| findstr เจชเฉเจฐเจธเจผเจพเจธเจ•โ€œเจ‡เจน เจ‰เจฆเฉ‹เจ‚ เจนเฉ€ เจธเฉเจตเจฟเจงเจพเจœเจจเจ• เจธเฉ€ เจœเจฆเฉ‹เจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจชเจคเจพ เจธเฉ€ เจ•เจฟ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจ•เฉ€ เจนเฉˆ เจชเจฐเจฌเฉฐเจงเจ• เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฒเฉ‹เฉœ เจนเฉˆ, เจœเจพเจ‚ เจธเจฐเจตเจฐ เจตเจฟเฉฑเจš เจฒเฉŒเจ—เจ‡เจจ เจ•เฉ€เจคเฉ‡ เจนเจฐ เจ•เจฟเจธเฉ‡ เจจเฉ‚เฉฐ เจฆเฉ‡เจ–เจฃ เจฒเจˆ เจธเจฟเจฐเจซเจผ เจชเจนเจฟเจฒเฉ‡ เจนเจฟเฉฑเจธเฉ‡ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ‹เฅค

WinServer 2012R2 เจตเจฟเฉฑเจš RDP เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจธเฉˆเจธเจผเจจเจพเจ‚ เจฒเจˆ เจ—เฉˆเจฐ-เจชเฉเจฐเจฌเฉฐเจงเจ• เจฆเฉ‡ เจฎเจจเฉเฉฑเจ–เฉ€ เจธเจผเฉˆเจกเฉ‹ เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจฒเจˆ เจ‰เจชเจฏเฉ‹เจ—เจคเจพ

2. เจ‡เจธ เจธเฉˆเจธเจผเจจ เจจเจพเจฒ เจœเฉเฉœเฉ‹, เจฌเจธเจผเจฐเจคเฉ‡ เจ•เจฟ เจกเฉ‹เจฎเฉ‡เจจ เจตเจฟเฉฑเจš เจนเฉ‹เจตเฉ‡ เจธเจฎเฉ‚เจน เจจเฉ€เจคเฉ€เจ†เจ‚ "เจฐเจฟเจฎเฉ‹เจŸ เจกเฉˆเจธเจ•เจŸเฉŒเจช เจธเฉ‡เจตเจพเจตเจพเจ‚ เจฆเฉ‡ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจธเฉˆเจธเจผเจจเจพเจ‚ เจฒเจˆ เจฐเจฟเจฎเฉ‹เจŸ เจ•เฉฐเจŸเจฐเฉ‹เจฒ เจจเจฟเจฏเจฎ เจธเฉˆเจŸ เจ…เจช เจ•เจฐเฉ‹" เจตเจฟเจ•เจฒเจช เจจเฉ‚เฉฐ เจ˜เฉฑเจŸเฉ‹-เจ˜เฉฑเจŸ "เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจ…เจจเฉเจฎเจคเฉ€ เจจเจพเจฒ เจฎเจพเจจเฉ€เจŸเจฐ เจธเฉˆเจธเจผเจจ" เจตเจฟเจ•เจฒเจช เจฆเฉ‡ เจจเจพเจฒ เจšเฉเจฃเจฟเจ† เจ—เจฟเจ† เจนเฉˆ (เจนเฉ‹เจฐ เจœเจพเจฃเจ•เจพเจฐเฉ€):

mstsc /shadow:127

เจ•เจฟเจฐเจชเจพ เจ•เจฐเจ•เฉ‡ เจจเฉ‹เจŸ เจ•เจฐเฉ‹ เจ•เจฟ เจธเฉ‚เจšเฉ€ เจตเจฟเฉฑเจš เจธเจฟเจฐเจซเจผ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฒเฉŒเจ—เจ‡เจจ เจธเจผเจพเจฎเจฒ เจนเฉ‹เจฃเจ—เฉ‡เฅค

เจฎเฉˆเจ‚ เจฆเฉเจนเจฐเจพเจ‰เจ‚เจฆเจพ เจนเจพเจ‚ เจ•เจฟ เจฌเจฟเจจเจพเจ‚ เจเจกเจฎเจฟเจจ เจ…เจงเจฟเจ•เจพเจฐเจพเจ‚ เจฆเฉ‡ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ‡ เจชเฉเจฐเจพเจชเจค เจนเฉ‹เจฃเจ—เฉ‡:

WinServer 2012R2 เจตเจฟเฉฑเจš RDP เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจธเฉˆเจธเจผเจจเจพเจ‚ เจฒเจˆ เจ—เฉˆเจฐ-เจชเฉเจฐเจฌเฉฐเจงเจ• เจฆเฉ‡ เจฎเจจเฉเฉฑเจ–เฉ€ เจธเจผเฉˆเจกเฉ‹ เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจฒเจˆ เจ‰เจชเจฏเฉ‹เจ—เจคเจพ

เจชเจฐ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจฆเฉ€ เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ เจกเฉ€เจฌเฉฑเจ—เจฟเฉฐเจ— เจฒเจˆ เจœเจฟเจธ เจฌเจพเจฐเฉ‡ เจšเจฐเจšเจพ เจ•เฉ€เจคเฉ€ เจœเจพเจตเฉ‡เจ—เฉ€, เจฎเฉˆเจ‚ เจชเฉเจฐเจธเจผเจพเจธเจ• เจฆเฉ‡ เจ…เจงเจฟเจ•เจพเจฐเจพเจ‚ เจตเจพเจฒเจพ เจ‡เฉฑเจ• เจ–เจพเจคเจพ เจตเจฐเจคเจฟเจ† เจนเฉˆเฅค

II. เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ

เจ‡เจธ เจฒเจˆ เจธเจฎเฉฑเจธเจฟเจ† เจฌเจฟเจ†เจจ: เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจธเฉเจจเฉ‡เจนเจพ เจญเฉ‡เจœเจฃเจพ, เจ‰เจธเจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจจเจพเจฒ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฆเฉ‡ เจธเจผเฉˆเจกเฉ‹ เจญเจพเจตเจจเจพ เจจเจพเจฒ เจœเฉเฉœเจจ เจฒเจˆ เจ•เฉเจ เจธเจงเจพเจฐเจจ เจ—เฉเจฐเจพเจซเจฟเจ•เจฒ เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจฌเจฃเจพเจ‰เจฃเจพ. เจšเฉเจฃเจฟเจ† เจ—เจฟเจ† เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจตเจพเจคเจพเจตเจฐเจจ เจฒเจพเจœเจผเจฐเจธ เจนเฉˆเฅค

1. เจ…เจธเฉ€เจ‚ เจชเฉเจฐเจธเจผเจพเจธเจ• เจคเฉ‹เจ‚ "เจฒเฉŒเจ—เจ‡เจจ" - "เจชเฉ‚เจฐเจพ เจจเจพเจฎ" เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจฆเฉ€ เจชเฉ‚เจฐเฉ€ เจกเฉ‹เจฎเฉ‡เจจ เจธเฉ‚เจšเฉ€ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚, เจœเจพเจ‚ เจฆเฉเจฌเจพเจฐเจพ เจ•เฉฐเจธเฉ‹เจฒ เจฐเจพเจนเฉ€เจ‚:

wmic useraccount get Name,FullName 

เจ•เฉ‹เจˆ เจตเฉ€ เจ‡เจธ เจจเฉ‚เฉฐ เจฎเจจเฉเจนเจพ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเจพ:

wmic useraccount get Name,FullName > c:testusername.txt

เจฎเฉˆเจ‚ เจคเฉเจฐเฉฐเจค เจ•เจนเจพเจ‚เจ—เจพ เจ•เจฟ เจ‡เจน เจฒเจพเจœเจผเจฐ เจธเฉ€ เจœเจฟเจธเจจเฉ‚เฉฐ เจ‡เจธ เจซเจพเจˆเจฒ เจฆเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจ•เจฐเจจ เจตเจฟเฉฑเจš เจธเจฎเฉฑเจธเจฟเจ† เจธเฉ€, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจฎเฉ‚เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ‡เจธเจฆเจพ เจเจจเจ•เฉ‹เจกเจฟเฉฐเจ— UCS-2 เจนเฉˆ, เจ‡เจธเจฒเจˆ เจฎเฉˆเจจเฉ‚เฉฐ เจ‡เจธเจจเฉ‚เฉฐ เจนเฉฑเจฅเฉ€เจ‚ เจจเจฟเจฏเจฎเจค UTF-8 เจตเจฟเฉฑเจš เจฌเจฆเจฒเจฃเจพ เจชเจฟเจ†เฅค เจซเจพเจˆเจฒ เจขเจพเจ‚เจšเฉ‡ เจตเจฟเฉฑเจš เจฌเจนเฉเจค เจธเจพเจฐเฉ€เจ†เจ‚ เจŸเฉˆเจฌเจพเจ‚ เจนเจจ, เจœเจพเจ‚ เจฌเจนเฉเจค เจธเจพเจฐเฉ€เจ†เจ‚ เจ–เจพเจฒเฉ€ เจฅเจพเจ‚เจตเจพเจ‚ เจนเจจ, เจœเจฟเจจเฉเจนเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเฉ‡เจŸเจฟเจ• เจคเฉŒเจฐ 'เจคเฉ‡ เจชเฉเจฐเฉ‹เจธเฉˆเจธ เจ•เจฐเจจ เจฆเจพ เจซเฉˆเจธเจฒเจพ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€; เจœเจฒเจฆเฉ€ เจœเจพเจ‚ เจฌเจพเจ…เจฆ เจตเจฟเฉฑเจš เจเจจเจ•เฉ‹เจกเจฟเฉฐเจ— เจธเจฎเฉฑเจธเจฟเจ† เจนเฉฑเจฒ เจนเฉ‹ เจœเจพเจตเฉ‡เจ—เฉ€, เจ…เจคเฉ‡ เจซเจพเจˆเจฒ เจจเฉ‚เฉฐ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเฉ‡เจŸเจฟเจ• เจคเฉŒเจฐ 'เจคเฉ‡ เจ…เจชเจกเฉ‡เจŸ เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพเฅค

เจ‡เจธ เจฒเจˆ, เจตเจฟเจšเจพเจฐ เจ‡เจน เจนเฉˆ เจ•เจฟ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจฆเฉ‡ เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจฒเจˆ เจ‡เฉฑเจ• เจซเฉ‹เจฒเจกเจฐ เจชเจนเฉเฉฐเจšเจฏเฉ‹เจ— เจนเฉ‹เจตเฉ‡, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ c:test, เจœเจฟเจธ เจตเจฟเฉฑเจš 2 เจซเจพเจˆเจฒเจพเจ‚ เจนเฉ‹เจฃเจ—เฉ€เจ†เจ‚: เจชเจนเจฟเจฒเฉ€ เจฒเฉŒเจ—เจฟเจจ เจ…เจคเฉ‡ เจชเฉ‚เจฐเฉ‡ เจจเจพเจฎ เจจเจพเจฒ, เจฆเฉ‚เจœเฉ€ id_rdp เจ…เจคเฉ‡ เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจฆเฉ‡ เจฒเฉŒเจ—เจ‡เจจ เจจเจพเจฒเฅค เจ…เฉฑเจ—เฉ‡, เจ…เจธเฉ€เจ‚ เจ‡เจธ เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจธเจญ เจคเฉ‹เจ‚ เจตเจงเฉ€เจ† เจขเฉฐเจ— เจจเจพเจฒ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚ :).

เจ‡เจธ เจฆเฉŒเจฐเจพเจจ, เจธเฉˆเจธเจผเจจเจพเจ‚ เจฆเฉ€ เจธเฉ‚เจšเฉ€ เจจเจพเจฒ เจœเฉ‹เฉœเจจ เจฒเจˆ, เจ…เจธเฉ€เจ‚ เจ‡เจธ (เจฒเฉŒเจ—เจ‡เจจ เจ…เจคเฉ‡ เจชเฉ‚เจฐเจพ เจจเจพเจฎ) เจธเจฎเฉฑเจ—เจฐเฉ€ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจเจฐเฉ‡ เจตเจฟเฉฑเจš เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚:

procedure Tf_rdp.UserF2Array;
var 
  F:TextFile;   i:integer;   f1, line1:String;   fL: TStringList;
begin //f_d ะณะปะพะฑะฐะปัŒะฝั‹ะน ะฟัƒั‚ัŒ ะบ ั€ะฐะทะผะตั‰ะตะฝะธัŽ ั„ะฐะนะปะพะฒ 
f1:=f_d+'user_name.txt';     //ะทะฐะดะฐั‡ะฐ ัั‡ะธั‚ะฐั‚ัŒ ะฒ ะผะฐััะธะฒ ัะพะดะตั€ะถะธะผะพะต ั„ะฐะนะปะฐ
fL := TStringList.Create; // ัั‚ั€ะพะบัƒ ะฟะพะดะฒะตั€ะณะฝะตะผ ะผะตั‚ะฐะผะฐั€ั„ะพะทะฐะผ ั ั€ะฐะทะดะตะปะธั‚ะตะปัะผะธ
fL.Delimiter := '|'; fL.StrictDelimiter := True;
AssignFile(F,f1); 
try // ะžั‚ะบั€ั‹ั‚ัŒ ั„ะฐะนะป ะดะปั ั‡ั‚ะตะฝะธั
  reset(F); ReadLn(F,line1);
  i:=0;
while not eof(F) do // ะกั‡ะธั‚ั‹ะฒะฐะตะผ ัั‚ั€ะพะบะธ, ะฟะพะบะฐ ะฝะต ะทะฐะบะพะฝั‡ะธั‚ัั ั„ะฐะนะป
begin
ReadLn(F,line1);
line1:= StringReplace(line1, '  ', '|',[]); //ะทะฐะผะตะฝัะตะผ ะฟะตั€ะฒั‹ะน ะฟะพะฟะฐะฒัˆ.2ะฟั€ะพะฑะตะปะฐ ั€ะฐะทะดะตะปะธั‚ะตะปะตะผ |
// ัƒะดะฐะปัะตะผ ะฒัะต ะดะฒะพะนะฝั‹ะต ะฟั€ะพะฑะตะปั‹
while pos('  ',line1)>0 do line1:= StringReplace(line1, '  ', ' ', [rfReplaceAll]);
begin
if (pos('|',line1)>0) then
begin //ะตัะปะธ ั€ะฐะทะดะตะปะธั‚ะตะปัŒ ััƒั‰ะตัั‚ะฒัƒะตั‚ ะทะฐะฝะพัะธะผ ะตะณะพ ะฒ ะผะฐััะธะฒ
fL.DelimitedText :=line1; // ั€ะฐะทะฑะธะฒะฐะตะผ ะฝะฐ ัั‚ะพะปะฑั†ั‹
if (fL[0]<>'') then //ะตัะปะธ ัƒั‡ะตั‚ะบะฐ ะธะผะตะตั‚ ะธะผั
begin //ะฒะฝะพัะธะผ ะตะต ะฒ ะผะฐััะธะฒ
 inc(i); // ะธะทะฑะฐะฒะปัะตะผัั ะพั‚ ะฒะพะทะผะพะถะฝั‹ั… ะพะดะธะฝะพั‡ะฝั‹ั… ะฟั€ะพะฑะตะปะพะฒ ะฒ ะปะพะณะธะฝะต
 fam[0,i]:=StringReplace(fL[1],' ','',[rfReplaceall, rfIgnoreCase]);
 fam[1,i]:=fL[0];
 end;end;end;end; // ะ“ะพั‚ะพะฒะพ. ะ—ะฐะบั€ั‹ะฒะฐะตะผ ั„ะฐะนะป.
 CloseFile(F);
 Fl.Free;
 except
 on E: EInOutError do  ShowMessage('ะžัˆะธะฑะบะฐ ะพะฑั€ะฐะฑะพั‚ะบะธ ั„ะฐะนะปะฐ. ะ”ะตั‚ะฐะปะธ: '+E.Message);
 end;end;

เจฎเฉˆเจ‚ โ€œเจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจ•เฉ‹เจกโ€ เจฒเจˆ เจฎเฉเจ†เจซเฉ€ เจฎเฉฐเจ—เจฆเจพ เจนเจพเจ‚, เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ‡ เจจเฉเจ•เจคเฉ‡ เจตเจงเฉ‡เจฐเฉ‡ เจธเฉฐเจ–เฉ‡เจช เจนเฉ‹เจฃเจ—เฉ‡เฅค

2. เจชเจฟเจ›เจฒเฉ‡ เจชเฉˆเจฐเฉ‡ เจคเฉ‹เจ‚ เจ‰เจธเฉ‡ เจตเจฟเจงเฉ€ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ, เจ…เจธเฉ€เจ‚ เจธเฉ‚เจšเฉ€ เจจเฉ‚เฉฐ เจธเจŸเฉเจฐเจฟเฉฐเจ—เจ—เฉเจฐเจฟเจก เจเจฒเฉ€เจฎเฉˆเจ‚เจŸ เจตเจฟเฉฑเจš เจชเฉเจฐเฉ‹เจธเฉˆเจธ เจ•เจฐเจจ เจฆเฉ‡ เจจเจคเฉ€เจœเฉ‡ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจฆเฉ‡ เจนเจพเจ‚, เจœเจฆเฉ‹เจ‚ เจ•เจฟ เจฎเฉˆเจ‚ เจ•เฉ‹เจก เจฆเจพ เจ‡เฉฑเจ• "เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ" เจŸเฉเจ•เฉœเจพ เจฆเฉ‡เจตเจพเจ‚เจ—เจพ:

2.1 เจธเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš RDP เจธเฉˆเจธเจผเจจเจพเจ‚ เจฆเฉ€ เจฎเฉŒเจœเฉ‚เจฆเจพ เจธเฉ‚เจšเฉ€ เจชเฉเจฐเจพเจชเจค เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ:

f1:=f_d+'user.txt';
cmdline:='/c query user >'+ f1;
if ShellExecute(0,nil, PChar('cmd'),PChar(cmdline),nil,1)=0 then;
Sleep(500); // ะผะพะถะฝะพ ะธ ะฟะพะดะพะปัŒัˆะต ะถะดะฐั‚ัŒ ะฟะพะบะฐ ั„ะฐะนะป ะดะปั ั‡ั‚ะตะฝะธั ัะพะทะดะฐะตั‚ัั

2.2 เจซเจพเจˆเจฒ เจฆเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจ•เจฐเฉ‹ (เจ•เฉ‹เจก เจฆเฉ€เจ†เจ‚ เจธเจฟเจฐเจซ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจฒเจพเจˆเจจเจพเจ‚ เจฆเจฐเจธเจพเจ เจ—เจ เจนเจจ):

StringGrid1.Cells[0,i]:=fL[1]; StringGrid1.Cells[2,i]:=fL[3]; //ะบะธะดะฐะตะผ ะฒ ั†ะธะบะปะต ะฒ StringGrid1
login1:=StringReplace(fL[1],' ','',[rfReplaceall, rfIgnoreCase]); //ัƒะฑะธั€ะฐะตะผ ะธะท ะปะพะณะธะฝะฐ ะฟั€ะพะฑะตะปั‹
if (SearchArr(login1)>=0) then //ะธั‰ะตะผ ะฒ ะผะฐััะธะฒะต ะธะท ะฟ1. ะปะพะณะธะฝ ะธ ะทะฐะฟะธัั‹ะฒะฐะตะผ ะฒ ั‚ะฐะฑะปะธั†ัƒ ะคะ˜ะž
StringGrid1.Cells[1,i]:=fam[1,SearchArr(login1)]
else StringGrid1.Cells[1,i]:='+'; // ะปะธะฑะพ ะทะฐะฟะธัั‹ะฒะฐะตะผ ะฟะปัŽัะธะบ:)
.... //ะฒ ะทะฐะฒะธัะธะผะพัั‚ะธ ะพั‚ ะฒั‹ะฑะพั€ะฐ ะฟะพะปัŒะทะพะฒะฐั‚ะตะปั ัะพั€ั‚ะธั€ัƒะตะผ ะธ ั„ะพั€ะผะฐั‚ะธั€ัƒะตะผ ะฟะพ ะดะฐะฝะฝั‹ะผ
if (b_id.Checked=true) then SortGrid(0) else SortGrid(1);
StringGrid1.AutoSizeColumn(0);StringGrid1.AutoSizeColumn(1); StringGrid1.AutoSizeColumn(2);  

3. เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจ…เจคเฉ‡ เจ‰เจธเจฆเฉ‡ เจธเฉˆเจธเจผเจจ เจจเฉฐเจฌเจฐ เจฆเฉ‡ เจจเจพเจฒ เจฒเจพเจˆเจจ 'เจคเฉ‡ เจ•เจฒเจฟเฉฑเจ• เจ•เจฐเจ•เฉ‡ เจ–เฉเจฆ เจธเจฟเฉฑเจงเจพ เจ•เฉเจจเฉˆเจ•เจธเจผเจจ:

  id:=(StringGrid1.Row);// ัƒะทะฝะฐะตะผ ะฝะพะผะตั€ ัั‚ั€ะพะบะธ  IntToStr(StringGrid1.Row)
  ids:=StringGrid1.Cells[2,id]; //ะฟะพะปัƒั‡ะฐะตะผ ะธะดะตะฝั‚ะธั„ะธะบะฐั‚ะพั€ rdp
  cmdline:='/c mstsc /shadow:'+ ids; //ะธ ะฟะพะดะบะปัŽั‡ะฐะตะผัั....
 if (b_rdp.Checked=True) then  if ShellExecute(0,nil, PChar('cmd'),PChar(cmdline),nil,1) =0 then;       

4. เจ•เฉเจ เจนเฉ‹เจฐ เจธเจœเจพเจตเจŸ เจฌเจฃเจพเจ เจ—เจ เจนเจจ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจฐเฉ‡เจกเฉ€เจ“ เจฌเจŸเจจ 'เจคเฉ‡ เจ•เจฒเจฟเฉฑเจ• เจ•เจฐเจ•เฉ‡ เจ›เจพเจ‚เจŸเจฃเจพ, เจ…เจคเฉ‡ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจœเจพเจ‚ เจธเจพเจฐเฉ‡ เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจธเฉฐเจฆเฉ‡เจธเจผเฅค

WinServer 2012R2 เจตเจฟเฉฑเจš RDP เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจธเฉˆเจธเจผเจจเจพเจ‚ เจฒเจˆ เจ—เฉˆเจฐ-เจชเฉเจฐเจฌเฉฐเจงเจ• เจฆเฉ‡ เจฎเจจเฉเฉฑเจ–เฉ€ เจธเจผเฉˆเจกเฉ‹ เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจฒเจˆ เจ‰เจชเจฏเฉ‹เจ—เจคเจพ

โ†’ เจชเฉ‚เจฐเจพ เจธเจฐเฉ‹เจค เจ•เฉ‹เจก เจฆเฉ‡เจ–เจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ เจ‡เฉฑเจฅเฉ‡

III. เจเจกเจฎเจฟเจจเจฒเจฟเฉฐเจ• เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพ - เจฎเฉˆเจ‚ เจ•เฉ€ เจฆเฉ‡เจ–เจฟเจ†:

เจเจกเจฎเจฟเจจเจฒเจฟเฉฐเจ• เจ‡เฉฑเจ• เจธเจผเจพเจฐเจŸเจ•เฉฑเจŸ เจคเจฟเจ†เจฐ เจ•เจฐเจฆเจพ เจนเฉˆ เจœเฉ‹ เจ‰เจชเจฏเฉ‹เจ—เจคเจพ เจฆเฉ‡ เจธเจฅเจพเจจ เจฆเจพ เจนเจตเจพเจฒเจพ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ admilaunch.exe, เจ…เจคเฉ‡ เจฒเจพเจ‚เจš เจ‰เจชเจฏเฉ‹เจ—เจคเจพ เจฆเฉ€ เจ‡เฉฑเจ• เจจเจฟเฉฑเจœเฉ€ เจ•เจพเจชเฉ€ AdmiRun.Exe เจœเฉ‹ เจ•เจฟ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฆเฉ‡ เจซเฉ‹เจฒเจกเจฐ เจตเจฟเฉฑเจš เจธเจฅเจฟเจค เจนเฉˆ, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ เจตเจธเจฟเจ†, เจŸเจพเจˆเจช C:UservasyaWINDOWS. เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡, เจธเจญ เจ•เฉเจ เจ‡เฉฐเจจเจพ เจฌเฉเจฐเจพ เจจเจนเฉ€เจ‚ เจนเฉˆ: เจคเฉเจธเฉ€เจ‚ เจ†เจชเจฃเฉ€ เจ–เฉเจฆ เจฆเฉ€ เจชเฉเจฐเจธเจผเจพเจธเจ• เจฆเฉ€ เจœเจผเจฎเฉ€เจฐ เจจเฉ‚เฉฐ เจธเจพเจซเจผ เจ•เจฐเจจ เจฒเจˆ เจธเจผเจพเจฐเจŸเจ•เฉฑเจŸ เจซเจพเจˆเจฒ เจ…เจคเฉ‡ เจนเฉ‹เจฐเจพเจ‚ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจฆเฉ‡ เจ…เจงเจฟเจ•เจพเจฐเจพเจ‚ เจจเจพเจฒ เจ–เฉ‡เจก เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹