Sunday, February 25, 2007
Perl/펄] MS가 개발한 Win32용 펄 스크립트 다운로드; Microsoft Script Download
MS(마이크로소프트)에서는 회사 내부적으로 Perl(펄) 스크립트를 많이 사용합니다. 물론 VBS(비베 스크립트)도 사용하지만, VBS라는 것이 너무 기능이 미약해서 MS도 어쩔 수 없는 것 같습니다.
윈도우나 하드웨어의 정보를 출력하거나 제어할 수 있는 펄 스크립트를 MS에서 무료로 제공하고 있습니다.
< The Script Center Script Repository: Sample Perl Scripts >
http://www.microsoft.com/technet/scriptcenter/scripts/perl/
(2023-04-28 업데이트: 현재 폐쇄됨 ) 위의 주소에서 다운로드받을 수 있습니다.
예를 들어, 비디오 카드의 해상도 목록을 출력하는 펄 스크립트를 다운받아 보겠습니다.
위의 주소에서 Hardware 라는 항목을 선택한 후,
Video and Display 라는 항목을 또 선택하고,
최종적으로 List All Possible Video Controller Resolutions (사용 가능한 모든 비디오 해상도 출력) 라는 곳을 클릭하면
다음과 같은 펄 스크립트가 나옵니다:
위의 스크립트를 example.pl 등의 이름으로 저장하고 실행하면, 다음과 같은 결과가 출력됩니다:
출력 결과가 너무 길어서 첫부분 일부만 실었습니다.
주의 사항:
MS에서 제공하는 펄 스크립트는 반드시 윈도우에 "액티브펄(ActivePerl)"을 설치한 후 실행해야 합니다. 액티브펄이 아닌 다른 종류의 펄, 예를 들어, Cygwin용 펄은 안됩니다. 왜냐하면 액티브펄(ActivePerl)에는 윈도우를 제어할 수 있는 각종 모듈들이 기본으로 내장되어 있기 때문입니다.
▶▶ [Perl/펄] 윈도우용 액티브펄(ActivePerl) 다운로드 설치법
윈도우나 하드웨어의 정보를 출력하거나 제어할 수 있는 펄 스크립트를 MS에서 무료로 제공하고 있습니다.
< The Script Center Script Repository: Sample Perl Scripts >
http://www.microsoft.com/technet/scriptcenter/scripts/perl/
(2023-04-28 업데이트: 현재 폐쇄됨 ) 위의 주소에서 다운로드받을 수 있습니다.
예를 들어, 비디오 카드의 해상도 목록을 출력하는 펄 스크립트를 다운받아 보겠습니다.
위의 주소에서 Hardware 라는 항목을 선택한 후,
Video and Display 라는 항목을 또 선택하고,
최종적으로 List All Possible Video Controller Resolutions (사용 가능한 모든 비디오 해상도 출력) 라는 곳을 클릭하면
다음과 같은 펄 스크립트가 나옵니다:
비디오 해상도 목록 출력 스크립트
use Win32::OLE('in');
use constant wbemFlagReturnImmediately => 0x10;
use constant wbemFlagForwardOnly => 0x20;
$computer = ".";
$objWMIService = Win32::OLE->GetObject
("winmgmts:\\\\$computer\\root\\CIMV2") or die "WMI connection failed.\n";
$colItems = $objWMIService->ExecQuery
("SELECT * FROM CIM_VideoControllerResolution","WQL",wbemFlagReturnImmediately | wbemFlagForwardOnly);
foreach my $objItem (in $colItems)
{
print "Caption: $objItem->{Caption}\n";
print "Description: $objItem->{Description}\n";
print "Horizontal Resolution: $objItem->{HorizontalResolution}\n";
print "Max Refresh Rate: $objItem->{MaxRefreshRate}\n";
print "Min Refresh Rate: $objItem->{MinRefreshRate}\n";
print "Number Of Colors: $objItem->{NumberOfColors}\n";
print "Refresh Rate: $objItem->{RefreshRate}\n";
print "Scan Mode: $objItem->{ScanMode}\n";
print "Setting ID: $objItem->{SettingID}\n";
print "Vertical Resolution: $objItem->{VerticalResolution}\n";
print "\n";
}
use constant wbemFlagReturnImmediately => 0x10;
use constant wbemFlagForwardOnly => 0x20;
$computer = ".";
$objWMIService = Win32::OLE->GetObject
("winmgmts:\\\\$computer\\root\\CIMV2") or die "WMI connection failed.\n";
$colItems = $objWMIService->ExecQuery
("SELECT * FROM CIM_VideoControllerResolution","WQL",wbemFlagReturnImmediately | wbemFlagForwardOnly);
foreach my $objItem (in $colItems)
{
print "Caption: $objItem->{Caption}\n";
print "Description: $objItem->{Description}\n";
print "Horizontal Resolution: $objItem->{HorizontalResolution}\n";
print "Max Refresh Rate: $objItem->{MaxRefreshRate}\n";
print "Min Refresh Rate: $objItem->{MinRefreshRate}\n";
print "Number Of Colors: $objItem->{NumberOfColors}\n";
print "Refresh Rate: $objItem->{RefreshRate}\n";
print "Scan Mode: $objItem->{ScanMode}\n";
print "Setting ID: $objItem->{SettingID}\n";
print "Vertical Resolution: $objItem->{VerticalResolution}\n";
print "\n";
}
위의 스크립트를 example.pl 등의 이름으로 저장하고 실행하면, 다음과 같은 결과가 출력됩니다:
D:\Z>example.pl
Caption: 320 x 200 x 256색 @ 74Hz
Description: 320 x 200 x 256색 @ 74Hz
Horizontal Resolution: 320
Max Refresh Rate:
Min Refresh Rate:
Number Of Colors: 256
Refresh Rate: 74
Scan Mode: 4
Setting ID: 320 x 200 x 256 colors @ 74 Hertz
Vertical Resolution: 200
Caption: 320 x 200 x 256색 @ 85Hz
Description: 320 x 200 x 256색 @ 85Hz
Horizontal Resolution: 320
Max Refresh Rate:
Min Refresh Rate:
Number Of Colors: 256
Refresh Rate: 85
Scan Mode: 4
Setting ID: 320 x 200 x 256 colors @ 85 Hertz
Vertical Resolution: 200
Caption: 320 x 240 x 256색 @ 63Hz
Description: 320 x 240 x 256색 @ 63Hz
Horizontal Resolution: 320
Max Refresh Rate:
Min Refresh Rate:
Number Of Colors: 256
Refresh Rate: 63
Scan Mode: 4
Setting ID: 320 x 240 x 256 colors @ 63 Hertz
Vertical Resolution: 240
Caption: 320 x 240 x 256색 @ 85Hz
Description: 320 x 240 x 256색 @ 85Hz
Horizontal Resolution: 320
Max Refresh Rate:
Min Refresh Rate:
Number Of Colors: 256
Refresh Rate: 85
Scan Mode: 4
Setting ID: 320 x 240 x 256 colors @ 85 Hertz
Vertical Resolution: 240
Caption: 512 x 384 x 256색 @ 78Hz
Description: 512 x 384 x 256색 @ 78Hz
Horizontal Resolution: 512
Max Refresh Rate:
Min Refresh Rate:
Number Of Colors: 256
Refresh Rate: 78
Scan Mode: 4
Setting ID: 512 x 384 x 256 colors @ 78 Hertz
Vertical Resolution: 384
... 이하 생략 ...
Caption: 320 x 200 x 256색 @ 74Hz
Description: 320 x 200 x 256색 @ 74Hz
Horizontal Resolution: 320
Max Refresh Rate:
Min Refresh Rate:
Number Of Colors: 256
Refresh Rate: 74
Scan Mode: 4
Setting ID: 320 x 200 x 256 colors @ 74 Hertz
Vertical Resolution: 200
Caption: 320 x 200 x 256색 @ 85Hz
Description: 320 x 200 x 256색 @ 85Hz
Horizontal Resolution: 320
Max Refresh Rate:
Min Refresh Rate:
Number Of Colors: 256
Refresh Rate: 85
Scan Mode: 4
Setting ID: 320 x 200 x 256 colors @ 85 Hertz
Vertical Resolution: 200
Caption: 320 x 240 x 256색 @ 63Hz
Description: 320 x 240 x 256색 @ 63Hz
Horizontal Resolution: 320
Max Refresh Rate:
Min Refresh Rate:
Number Of Colors: 256
Refresh Rate: 63
Scan Mode: 4
Setting ID: 320 x 240 x 256 colors @ 63 Hertz
Vertical Resolution: 240
Caption: 320 x 240 x 256색 @ 85Hz
Description: 320 x 240 x 256색 @ 85Hz
Horizontal Resolution: 320
Max Refresh Rate:
Min Refresh Rate:
Number Of Colors: 256
Refresh Rate: 85
Scan Mode: 4
Setting ID: 320 x 240 x 256 colors @ 85 Hertz
Vertical Resolution: 240
Caption: 512 x 384 x 256색 @ 78Hz
Description: 512 x 384 x 256색 @ 78Hz
Horizontal Resolution: 512
Max Refresh Rate:
Min Refresh Rate:
Number Of Colors: 256
Refresh Rate: 78
Scan Mode: 4
Setting ID: 512 x 384 x 256 colors @ 78 Hertz
Vertical Resolution: 384
... 이하 생략 ...
출력 결과가 너무 길어서 첫부분 일부만 실었습니다.
주의 사항:
MS에서 제공하는 펄 스크립트는 반드시 윈도우에 "액티브펄(ActivePerl)"을 설치한 후 실행해야 합니다. 액티브펄이 아닌 다른 종류의 펄, 예를 들어, Cygwin용 펄은 안됩니다. 왜냐하면 액티브펄(ActivePerl)에는 윈도우를 제어할 수 있는 각종 모듈들이 기본으로 내장되어 있기 때문입니다.
▶▶ [Perl/펄] 윈도우용 액티브펄(ActivePerl) 다운로드 설치법
tag: perl
Perl | 펄
<< Home