컴퓨터2007.05.03 10:30

혼자 공부하기는 쉬워도 그것을 글로 다시 쓰려니 참.. 힘드네요.

우선 간단 스크립트 하나를 설명을 하겠습니다.

다음 스크립트는 C드라이브의 남은공간을 알아내는 스크립트 입니다.
사용되는 기술은 VBscript, WMI 입니다.

㉠ Set objWMIService = GetObject("winmgmts:")
㉡ Set objLogicalDisk = objWMIService.Get("Win32_LogicalDisk.DeviceID='C:'")
㉢ Wscript.Echo objLogicalDisk.FreeSpace



㉠ WMI 를 이용해야 하기때문에 WMI 의 개체로부터 데이터를 가져와서
   objWMIService라는 개체에 값을 넣습니다.

㉡ WMI 에서 가져온 개체는 하나의 값을 갖지 않고 여러값을 가진 뭉탱이이기때문에
 많은 내용들중에서 우리가 알고자하는 디스크정보를 가지고 있는 개체를 호출하는데,
이때 특정 드라이브(C:\) 를 지정해서 값을 objLogicalDisk 로 가져오게 됩니다.

㉢ 젤 쉬운 부분입니다. objLogicalDisk  개체에 대한 남은 공간에 해당하는 값을 얻게 되는것이죠.

결과는 다음과 같습니다.

G:\Data\Script\tmp\VBS>cscript Win32_LogicalDisk.vbs
Microsoft (R) Windows Script Host 버전 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

1186295808

G:\Data\Script\tmp\VBS>



와우 간단하죠?  그런데 값을 보니 너무 크군요.. 저의 C드라이브가 얼마나 용량이 남았는지
바로 감이 안옵니다. 사실 이값은 byte 입니다. 보기 쉬운 방법으로 바꾸어 보겠습니다.

㉢ 부분을 약간 수정하겠습니다.
다음처럼요. (참고, 1024 byte = 1KByte , 1024 KByte = 1 MByte, 1024 MByte = 1 Gbyte)

Wscript.Echo objLogicalDisk.FreeSpace / 1024
Wscript.Echo objLogicalDisk.FreeSpace / 1024 / 1024
Wscript.Echo objLogicalDisk.FreeSpace / 1024 / 1024 / 1024



결과를 보겠습니다.

G:\Data\Script\tmp\VBS>cscript Win32_LogicalDisk.vbs
Microsoft (R) Windows Script Host 버전 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

1158460
1131.30859375
1.10479354858398

G:\Data\Script\tmp\VBS>

단위 표시를 안했더니 보기가 불편하네요.

다음은 제 C디스크 정보입니다.




어렵지 않죠..? ^^

Posted by Zasfe

댓글을 달아 주세요

컴퓨터2007.04.01 14:32

VBscript 는 윈도우기반의 컴퓨터를 관리하기에 강력하고 쉽고 유용한 도구입니다.

간단한 스크립트 하나를 이용해서 여러가지 작업이 가능하도록 수정을 해서 여러분이 사용하시는데
무한한 가능성이 보이도록 할것입니다.

우선 우리의 입맛에 맛도록 수정을 할 간단한 스크립트 하나를 소개합니다.

Set objWMIService = GetObject("winmgmts:")
Set objLogicalDisk = objWMIService.Get("Win32_LogicalDisk.DeviceID='C:'")
Wscript.Echo objLogicalDisk.FreeSpace



이 스크립트는 WMI 를 이용해서 로컬디스크중 C 드라이브의 남은 공간을 알아보는 스크립트입니다.

우리는 외부의 컴퓨터를 포함한 당신의 네트워크내의 모든 컴퓨터에 대한 디스크 남은 공간을 알아볼수도 있으며, 여러대의 컴퓨터의 남은공간정보를 알아볼수도 있으며, 하나의 컴퓨터에 대해서 모든 디스크 남은공간을 알아볼수도 있으며. 디스크정보에 대한 경고를 할수도 있다.

하나하나 알아보자

Posted by Zasfe

댓글을 달아 주세요

컴퓨터2007.03.30 09:25

Microsoft® Visual Basic® Scripting Edition (VBScript)는 Microsoft® Windows® 를 관리 하는데 시스템관리자가 쉽게 만들수 있는 언어입니다. 첫번째 예로 디스크의 남은용량을 표시하는 스크립트를 만들것입니다. 이 스크립트를 이용해서 여러가지 수정을 해서 여러개의 디스크, 여러대 컴퓨터의 남은공간을 표시하는 스크립트도 만들수 있습니다. 두번째 예로는 시스템관리에 보다 흥미있는 부분을 만들어볼것입니다.

VBscript 는 수백 수천대의 컴퓨터를 관리하는 기업환경을 시스템 관리자가 관리하는데 유용한 언어입니다.
이 Vbscript 는 Windows Script Host (WSH), Windows Management Instrumentation (WMI), and Active Directory Service Interfaces (ADSI)와 연결해서 사용할수 있으며, 시스템관리도구를 만들수 있어 유용합니다.
예를 들어 WMI 와 ADSI 를 이용해서 VBscript로 에러보정, 내부루팅과 고급 프로그래밍구조를 1000 줄 이상으로 만들수도 있습니다.

그러나 시스템관리자에게 유용한 VBscript는 제작하는것이 어렵지 않습니다. 메모장에 코드를 적을 몇분의 시간만 있으면 됩니다.

다음은 당신의 컴퓨터에 C 드라이브 남은용량을 표시하는 스크립트입니다.

Set objWMIService = GetObject("winmgmts:")
Set objLogicalDisk = objWMIService.Get("Win32_LogicalDisk.DeviceID='c:'")
Wscript.Echo objLogicalDisk.FreeSpace

이 스크립트는 당신이 보기에 충분하지 않을것입니다. 예를 들어서 현재 컴퓨터의 남은 공간을 보여주는데 외부의 컴퓨터 디스크의 남은공간은 보여줄수 없습니다. 또한, C 드라이브의 남은공간만을 남기고 D,E 드라이브의 남은공간은 알수 없습니다.

이 스크립트를 수정함으로 다음과 같은것을 하게 될것이다.
- 외부 컴퓨터를 포함한 어떤 컴퓨터의 남은 디스크용량을 알아볼것이다.
- 여러 컴퓨터의 남은 디스크용량을 알아볼것이다.
- 하나의 컴퓨터의 모든 디스크에 대해서 남은 용량을 알아볼것이다.
- 디스크용량이 작을때 알리도록 할것이다.

Posted by Zasfe

댓글을 달아 주세요