맨위로가기

액티브 스크립팅

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

액티브 스크립팅은 1996년 마이크로소프트에서 처음 공개한 기술로, 다양한 스크립트 언어를 사용하여 윈도우 환경에서 스크립트를 실행할 수 있게 해준다. 이 기술은 서버 측 스크립팅, 웹 브라우저 내 스크립트 실행, 윈도우 스크립트 호스트를 통한 자동화 등 다양한 분야에 활용되었으며, 윈도우 레지스트리 조작, 시스템 관리, 데이터베이스 프로그래밍 등에도 사용되었다. 액티브 스크립팅은 .NET Framework의 등장으로 인해 점차 비권장화되었지만, 여전히 윈도우 운영체제에 포함되어 있으며, JScript와 VBScript는 마이크로소프트에서 유지 관리되고 있다.

2. 역사

마이크로소프트는 1996년 8월 인터넷 익스플로러 3.0과 1996년 12월 인터넷 정보 서비스 3.0을 출시하면서 액티브 스크립팅 기술을 처음 공개했다.

액티브 스크립팅은 액티브 서버 페이지(ASP) 서버 스크립트, 인터넷 익스플로러, 윈도우 스크립트 호스트(WSH) 스크립트를 이용한 로그인 스크립트, 레지스트리 조작 등 일상 작업 자동화에 널리 쓰였다. 윈도우 관리 계측 및 액티브 디렉터리 서비스 인터페이스 같은 관리 용도로도 활용되었다. 데이터베이스 프로그래밍, 텍스트 처리, 빠른 프로토타이핑, 응용 프로그램 매크로/스크립팅 프로그래밍과 같은 범용 스크립팅에도 사용될 수 있다.

액티브 스크립팅은 많은 용도에서 유닉스 셸 스크립트의 기능과 유사하며, 배치 파일(command.com), 윈도우 NT 스타일 셸 스크립트(cmd.exe)를 점진적으로 개선하고, VBScript를 통해 Windows 95의 보조 디스크에서 마지막으로 사용할 수 있었던 QBasic을 대체하는 Windows에 추가된 기능이다. 액티브 스크립팅에 사용되는 대부분의 언어는 글루 언어이며, Perl이 가장 일반적으로 사용되는 타사 스크립트 엔진이다.

액티브 스크립팅 엔진 인터페이스는 공개되어 있어, 개발자는 액티브 스크립팅 언어로 프로그래밍 가능한 응용 프로그램과 추가 언어 엔진을 만들 수 있다.

2. 1. 비권장화 및 대체 기술

액티브 스크립팅은 완료된 것으로 간주되며, 더 이상 마이크로소프트에서 적극적으로 개발하지 않는다. 하지만 스크립팅 엔진은 향후 출시되는 마이크로소프트 윈도우 및 IIS와 함께 계속 제공될 것이다.[5]

원래 .NET 프레임워크에는 자체 스크립팅 기술과 'Visual Studio for Applications'(VSA)라는 별도의 스크립팅 IDE가 있었다.[6][7] 이 기술에 대한 인터페이스는 액티브 스크립팅을 통해서도 사용할 수 있었기 때문에 .NET을 인식하지 못하는 애플리케이션도 .NET 언어를 사용하여 스크립트를 작성할 수 있었다. VSA는 또한 Visual Basic for Applications를 대체할 예정이었다.[8] 그러나 해당 기술 전체는 .NET 프레임워크 버전 2.0에서 더 이상 사용되지 않았으며,[8] 액티브 스크립팅 지원을 원하는 애플리케이션에 대한 명확한 업그레이드 경로가 남아 있지 않다. 물론 C#, VBScript, Visual Basic .NET 및 기타 .NET 언어로 "스크립트"를 생성할 수 있으며, 이는 표준 .NET 런타임의 일부로 설치된 라이브러리를 통해 컴파일되어 런타임에 실행될 수 있다.

2006년, 마이크로소프트는 Windows PowerShell을 도입했는데, 이는 PowerShell cmdlet 또는 PowerShell 공급자를 통해 애플리케이션을 노출할 수 있다.[9]

.NET Framework의 등장으로 인해 액티브 스크립팅은 비권장화되었다. 하지만 VBScript/JScript와 유사한 언어로서 Visual Basic .NET(VB.NET)과 JScript .NET (JS.NET)이 .NET 위에 존재한다. .NET Framework 안에는 스크립트용 기술도 존재하며, 특히 그것을 추출한 통합 개발 환경은 Visual Studio for Applications (VSA)라고 불린다.[13] [14] [15] 또한, 그 인터페이스는 액티브 스크립팅에서도 사용 가능하며, .NET 미지원 애플리케이션을 .NET 언어로 스크립팅할 수도 있다. VSA는 Visual Basic for Applications (VBA)의 후계가 될 예정이었지만,[16] .NET Framework 2.0에서 비권장화되었으며,[17] 액티브 스크립팅을 사용하는 애플리케이션에게는 명확한 이전 대상이 없는 상태가 되었다. 여기서의 스크립트는 C#, VB.NET 및 기타 .NET 언어의 코드를 실행 시 .NET Framework 라이브러리로 컴파일하여 실행할 수 있음을 의미한다.

현재, JScript와 VBScript는 마이크로소프트의 Sustaining Engineering Team에서 유지 관리되고 있으며, 버그 수정 및 보안 구멍 대책 등이 이루어지고 있다. 비권장화되었음에도 불구하고, 액티브 스크립팅 기반 언어로 작성된 스크립트가 대량으로 존재[18]하므로, 당분간은 Windows에 계속 탑재될 것으로 보인다. 최근, 마이크로소프트는 Windows PowerShell을 공개했다. 이는 .NET 기반 셸 및 스크립트 언어이다.

3. 특징 및 구조

액티브 스크립팅은 1996년에 처음 공개되었다. 인터넷 익스플로러 3.0 (8월) 및 IIS 3.0 (12월)에 포함되었으며, 윈도우 98/윈도우 2000부터는 기본적으로 탑재되어 제공된다.

액티브 스크립팅은 스크립트 호스트와 스크립트 엔진 간의 중재 역할을 하며, 이들 간의 통신은 주로 COM을 통해 이루어진다. 액티브 스크립팅은 호스트에서 엔진에 스크립트 내에서 사용할 수 있는 객체를 공개하는 기능을 제공하며, COM의 연결 지점 등도 사용된다.

3. 1. 스크립트 호스트

Active Scripting은 Windows에서 스크립트를 실행하기 위한 기반이며, '''스크립트 호스트'''와 '''스크립트 엔진''' 간의 중재 역할을 하는 아키텍처이다.

스크립트 호스트는 스크립트를 실행하는 애플리케이션이며, 마이크로소프트 제품에는 다음과 같은 호스트가 존재한다.

  • HTML상에서 스크립트를 동작시키는 Internet Explorer
  • Windows에서 범용 스크립트 환경을 제공하는 Windows Script Host
  • 서버 측에서 프로그램을 실행하는 IIS의 Active Server Pages


SecureCRT와 같은 일부 소프트웨어는 WSH 기능을 사용하여 설치된 모든 스크립팅 엔진을 통해 자동화를 허용한다.[4]

스크립트 호스트, 관련 구성 요소 및 엔진은 다른 구성 요소와 마찬가지로 Windows 응용 프로그램에 통합되어 호출될 수 있다.

3. 2. 스크립트 엔진

액티브 스크립팅 엔진은 여러 언어에서 사용할 수 있다. 가장 인기 있는 언어는 다음과 같다.[1]

스크립트 엔진언어
액티브펄
ActivePHP, PHPScriptPHP
액티브파이썬파이썬
델파이
포트란
하스켈
루아
렉스
루비
Tcl
VBScript, JScript윈도우 95 이후 버전, CE (선택적)
VBAWindows, 마이크로소프트 오피스 또는 VBA 프로그래밍 가능 소프트웨어 필요
XLNT
XSLT



윈도우에서는 명령줄에서 실행되는 CScript.exe와 GUI에서 실행되는 WScript.exe가 설치된 액티브 스크립트 언어를 구현하는 주요 수단이다.[2] 아이콘을 클릭하거나 명령줄, 실행 대화 상자 등에서 실행하면 기본적으로 코드를 포함하는 일반 텍스트 파일이 실행된다. Windows 스크립트 파일(.wsf)은 둘 이상의 언어로 둘 이상의 스크립트를 포함할 수 있는 XML 파일이며, Windows 스크립트 호스트에 의해 실행된다.[3]

SecureCRT와 같은 일부 소프트웨어는 WSH 기능을 사용하여 설치된 모든 스크립팅 엔진을 통해 자동화를 허용한다.[4]

스크립트 엔진은 소스 코드를 처리하는 프로그램 (COM 객체의 형태)으로, 표준으로는 VBScript 및 JScript 엔진이 부속되어 있다. 이 외에도 무료 및 유료를 포함하여 추가 엔진이 존재한다. 예를 들어, ActiveState의 ActivePerl과 ActivePython을 설치하면 Active Scripting에서 Perl과 Python을 사용할 수 있게 된다. 또한, 하스켈[10], PHP[11], Ruby[12] 등 다수의 언어를 지원하는 엔진이 존재한다.

3. 3. 스크립트와 호스트 간 통신

Active Scripting은 COM을 통해 스크립트와 호스트 간의 통신을 지원한다. 호스트는 엔진에 스크립트 내에서 사용할 수 있는 객체를 공개할 수 있으며, COM의 연결 지점 등도 활용된다.[10][11][12]

4. 활용 분야

액티브 스크립팅은 1996년 마이크로소프트 인터넷 익스플로러 3.0인터넷 정보 서비스 3.0 제품과 함께 처음 공개되었다. 액티브 스크립팅 엔진에 대한 인터페이스는 공개되어 있으므로, 모든 개발자는 액티브 스크립팅 언어로 프로그래밍 가능한 응용 프로그램과 추가 언어에 대한 엔진을 만들 수 있다.

4. 1. 시스템 관리

액티브 스크립팅은 액티브 서버 페이지(ASP) 서버 스크립트, 인터넷 익스플로러, 윈도우 스크립트 호스트(WSH) 스크립트를 사용하여 로그인 스크립트, 레지스트리 조작 등 일상적인 작업을 자동화하는 데 사용될 수 있다. 다른 관리 용도로는 윈도우 관리 계측 및 액티브 디렉터리 서비스 인터페이스가 있다. 또한 데이터베이스 프로그래밍, 텍스트 처리, 빠른 프로토타이핑, 응용 프로그램 매크로/스크립팅 프로그래밍과 같은 범용 스크립팅에도 사용될 수 있다. 일부 응용 프로그램은 액티브 스크립팅을 주요 자동화 방법으로 사용하고, 다른 응용 프로그램은 매크로 기능이 없지만 API를 통해 구성 요소를 사용할 수 있다. 또는 기본적으로 사용할 수 없는 언어 및/또는 도구를 추가할 수도 있다. 예를 들어, 비주얼 베이직 for 애플리케이션(VBA) 대신 Perl 또는 REXX마이크로소프트 엑셀을 프로그래밍하거나, 매크로 도구가 다르거나 전혀 없는 경우 터미널 에뮬레이터에서 워드 프로세서스프레드시트를 통해 데이터를 전송할 수 있다.

액티브 스크립팅은 유닉스 셸 스크립트의 기능과 유사하며 배치 파일(command.com), 윈도우 NT 스타일 셸 스크립트(cmd.exe)를 점진적으로 개선하고, VBScript를 통해 Windows 95의 보조 디스크에서 마지막으로 사용할 수 있었던 QBasic을 대체하는 Windows에 추가된 기능이다. 액티브 스크립팅에 사용되는 대부분의 언어는 글루 언어이며, Perl이 가장 일반적으로 사용되는 타사 스크립트 엔진이다.

4. 2. 기타

액티브 스크립팅의 일반적인 응용 분야로는 액티브 서버 페이지(ASP) 서버 스크립트, 인터넷 익스플로러, 윈도우 스크립트 호스트(WSH) 스크립트를 사용하여 로그인 스크립트, 레지스트리 조작 등 일상적인 작업을 자동화하는 것이 있다. 다른 관리 용도로는 윈도우 관리 계측 및 액티브 디렉터리 서비스 인터페이스가 있다. 액티브 스크립팅은 데이터베이스 프로그래밍, 텍스트 처리, 빠른 프로토타이핑, 응용 프로그램 매크로/스크립팅 프로그래밍과 같은 범용 스크립팅에도 사용할 수 있다.

일부 응용 프로그램은 액티브 스크립팅을 주요 자동화 방법으로 사용하고, 다른 응용 프로그램은 매크로 기능이 없지만 API를 통해 구성 요소를 사용할 수 있다. 또는 기본적으로 사용할 수 없는 언어 및/또는 도구를 추가할 수도 있다. 예를 들어, 비주얼 베이직 for 애플리케이션(VBA) 대신 Perl 또는 REXX마이크로소프트 엑셀을 프로그래밍하거나, 매크로 도구가 다르거나 전혀 없는 경우 터미널 에뮬레이터에서 워드 프로세서스프레드시트를 통해 데이터를 전송할 수 있다.

액티브 스크립팅은 유닉스 셸 스크립트의 기능과 유사하며 배치 파일(command.com), 윈도우 NT 스타일 셸 스크립트(cmd.exe)를 점진적으로 개선하고, VBScript를 통해 Windows 95의 보조 디스크에서 마지막으로 사용할 수 있었던 QBasic을 대체하는 Windows에 추가된 기능이다. 액티브 스크립팅에 사용되는 대부분의 언어는 글루 언어이며, Perl이 가장 일반적으로 사용되는 타사 스크립트 엔진이다.

액티브 스크립팅 엔진에 대한 인터페이스는 공개되어 있으므로 모든 개발자는 액티브 스크립팅 언어로 프로그래밍 가능한 응용 프로그램과 추가 언어에 대한 엔진을 만들 수 있다.

5. 구현체

액티브 스크립팅 엔진은 여러 언어에서 사용할 수 있다. 가장 인기 있는 언어는 다음과 같다.[1]

언어구현체
액티브펄
PHPActivePHP 및 PHPScript
파이썬액티브파이썬
델파이
포트란
하스켈
루아
렉스(여러 버전)
루비
Tcl
VBScript, JScript(윈도우 95 이후 버전의 Windows에서 사용 가능, CE에서 선택적 사용)
VBA(Windows용, 마이크로소프트 오피스 또는 VBA 프로그래밍 가능 소프트웨어 필요)
XLNT
XSLT



Windows에서 명령줄 실행은 CScript.exe, GUI 실행은 WScript.exe가 설치된 액티브 스크립트 언어를 구현한다.[2] 아이콘 클릭, 명령줄, 실행 대화 상자 등에서 실행하면 기본적으로 코드를 포함하는 일반 텍스트 파일이 실행된다. Windows 스크립트 파일(.wsf)은 둘 이상의 언어로 둘 이상의 스크립트를 포함할 수 있는 XML 파일이며, Windows 스크립트 호스트에 의해 실행된다.[3]

SecureCRT와 같은 일부 소프트웨어는 WSH 기능을 사용하여 설치된 모든 스크립팅 엔진을 통해 자동화를 허용한다.[4]

스크립트 호스트, 관련 구성 요소 및 엔진은 다른 구성 요소와 마찬가지로 Windows 응용 프로그램에 통합되어 호출될 수 있다.

참조

[1] 웹사이트 2. Choosing a Server-Side Scripting Language - Designing Active Server Pages [Book] https://www.oreilly.[...] 2024-02-21
[2] 웹사이트 "[Definition] What Is Cscript.exe & Cscript vs Wscript?" https://www.minitool[...] MiniTool 2024-02-21
[3] 웹사이트 Using Windows Script Files (.wsf) https://admhelp.micr[...] 2024-02-21
[4] 웹사이트 SecureCRT Scripting - FAQ https://www.vandyke.[...] 2024-02-21
[5] 블로그 Rumours of VBScript's Death Have Been Greatly Exaggerated http://blogs.msdn.co[...] Eric Lippert's Blog Fabulous Adventures In Coding on MSDN 2004-04-09
[6] 기사 Script Happens .NET http://msdn.microsof[...] Andrew Clinick of Microsoft Corporation, in Scripting Clinic on MSDN 2001-07-25
[7] 웹인용 Microsoft Takes Wraps Off VSA Development Technology http://redmondmag.co[...] Scott Bekker on Redmondmag.com 2001-01-16
[8] 웹인용 VSA scripting in .NET http://www.codeproje[...] Mark Belles on The Code Project
[9] 웹사이트 PowerShell is Microsoft's latest open source release, coming to Linux, OS X https://arstechnica.[...] Condé Nast 2016-08-18
[10] 문서 HaskellScript: About http://www.haskell.o[...]
[11] 문서 PHP: ActiveScript http://jp2.php.net/m[...]
[12] 문서 COM Meets Ruby https://web.archive.[...]
[13] 문서 Script happens .NET: MSDN http://msdn.microsof[...]
[14] 문서 Microsoft Takes Wraps Off VSA Development Technology http://redmondmag.co[...]
[15] 문서 VSA scripting in .NET http://www.codeproje[...]
[16] 문서 Visual Studio for Applications http://blogs.thinkte[...]
[17] 문서 Microsoft.Vsa 名前空間 http://msdn.microsof[...]
[18] 문서 Rumours of VBScript's Death Have Been Greatly Exaggerated http://blogs.msdn.co[...]



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com