Powershell-스크립팅
Windows PowerShell은 command-line shell 과 scripting language시스템 관리를 위해 특별히 설계되었습니다. Linux에서의 아날로그를 Bash Scripting이라고합니다. .NET Framework에 구축 된 Windows PowerShell은 IT 전문가가 Windows Server 환경에서 실행되는 Windows 운영 체제 및 응용 프로그램의 관리를 제어하고 자동화하는 데 도움이됩니다.
호출되는 Windows PowerShell 명령 cmdlets, 명령 줄에서 컴퓨터를 관리 할 수 있습니다. Windows PowerShell 공급자를 사용하면 파일 시스템에 액세스하는 것처럼 쉽게 레지스트리 및 인증서 저장소와 같은 데이터 저장소에 액세스 할 수 있습니다.
또한 Windows PowerShell에는 풍부한 식 파서와 완전히 개발 된 스크립팅 언어가 있습니다. 따라서 간단한 말로 GUI 등으로 수행하는 모든 작업을 완료 할 수 있습니다. Windows PowerShell 스크립팅은 완전히 개발 된 스크립팅 언어이며 풍부한 식 파서 /
풍모
Cmdlets − Cmdlet은 레지스트리, 서비스, 프로세스, 이벤트 로그 관리 및 WMI (Windows Management Instrumentation) 사용과 같은 일반적인 시스템 관리 작업을 수행합니다.
Task oriented − PowerShell 스크립팅 언어는 작업 기반이며 기존 스크립트 및 명령 줄 도구에 대한 지원을 제공합니다.
Consistent design− cmdlet 및 시스템 데이터 저장소는 공통 구문을 사용하고 공통 명명 규칙을 사용하므로 데이터 공유가 쉽습니다. 한 cmdlet의 출력은 조작없이 다른 cmdlet으로 파이프 라인 될 수 있습니다.
Simple to Use − 단순화 된 명령 기반 탐색을 통해 사용자는 파일 시스템 탐색과 유사한 레지스트리 및 기타 데이터 저장소를 탐색 할 수 있습니다.
Object based− PowerShell에는 강력한 개체 조작 기능이 있습니다. 개체를 다른 도구 나 데이터베이스로 직접 보낼 수 있습니다.
Extensible interface. − PowerShell은 독립 소프트웨어 공급 업체와 엔터프라이즈 개발자가 PowerShell을 사용하여 소프트웨어를 관리하는 사용자 지정 도구 및 유틸리티를 구축 할 수 있으므로 사용자 지정이 가능합니다.
변수
PowerShell 변수는 명명 된 개체입니다. PowerShell은 개체와 함께 작동하므로 이러한 변수는 개체와 함께 작동하는 데 사용됩니다.
변수 생성
변수 이름은 $로 시작해야하며 이름에 영숫자와 밑줄을 포함 할 수 있습니다. 유효한 변수 이름을 입력하여 변수를 만들 수 있습니다.
PowerShell ISE 콘솔에 다음 명령을 입력합니다. D : \ test 폴더에 있다고 가정합니다.
$location = Get-Location
여기에서 $ location 변수를 만들고 Get-Location cmdlet의 출력에 할당했습니다. 이제 현재 위치가 포함됩니다.
변수 사용
PowerShell ISE 콘솔에 다음 명령을 입력합니다.
$location
산출
PowerShell 콘솔에서 다음 출력을 볼 수 있습니다.
Path
----
D:\test
변수 정보 얻기
Get-Member cmdlet은 사용중인 변수의 유형을 알 수 있습니다. 아래 예를 참조하십시오.
$location | Get-Member
산출
PowerShell 콘솔에서 다음 출력을 볼 수 있습니다.
TypeName: System.Management.Automation.PathInfo
Name MemberType Definition
---- ---------- ----------
Equals Method bool Equals(System.Object obj)
GetHashCode Method int GetHashCode()
GetType Method type GetType()
ToString Method string ToString()
Drive Property System.Management.Automation.PSDriveInfo Drive {get;}
Path Property System.String Path {get;}
Provider Property System.Management.Automation.ProviderInfo Provider {get;}
ProviderPath Property System.String ProviderPath {get;}