예, Linux 및 Windows 모두 다음을 수행 할 수있는 원하는 상태 구성 파일을 빌드 할 수 있습니다.
- 서버 역할 및 기능 활성화 또는 비활성화
- 레지스트리 설정 관리
- 파일 및 디렉토리 관리
- 프로세스 및 서비스 시작, 중지 및 관리
- 그룹 및 사용자 계정 관리
- 새로운 소프트웨어 배포
- 환경 변수 관리
- Windows PowerShell 스크립트 실행
- 원하는 상태에서 벗어난 구성 수정
- 주어진 노드에서 실제 구성 상태를 발견하십시오.
다음은 IIS를 활성화하고 웹 사이트 파일이 올바른 폴더에 있는지 확인하고 이러한 파일이 설치 또는 누락되지 않은 경우이를 적절하게 설치 또는 복사하는 샘플 구성 파일입니다 ($ websitefilepath는 다음과 같습니다. 웹 사이트 파일의 소스로 사전 정의 됨) :
Configuration MyWebConfig
{
# A Configuration block can have zero or more Node blocks
Node "Myservername"
{
# Next, specify one or more resource blocks
# WindowsFeature is one of the built-in resources you can use in a Node block
# This example ensures the Web Server (IIS) role is installed
WindowsFeature MyRoleExample
{
Ensure = "Present" # To uninstall the role, set Ensure to "Absent"
Name = "Web-Server"
}
# File is a built-in resource you can use to manage files and directories
# This example ensures files from the source directory are present in the destination directory
File MyFileExample
{
Ensure = "Present" # You can also set Ensure to "Absent"
Type = "Directory“ # Default is “File”
Recurse = $true
# This is a path that has web files
SourcePath = $WebsiteFilePath
# The path where we want to ensure the web files are present
DestinationPath = "C:\inetpub\wwwroot"
# This ensures that MyRoleExample completes successfully before this block runs
DependsOn = "[WindowsFeature]MyRoleExample"
}
}
}
자세한 내용은 Windows PowerShell 원하는 상태 구성 개요 및 Windows PowerShell 원하는 상태 구성 시작을 참조하십시오 .
그렇다면 단순히 install-windowsfeature cmdlet 대신 이것을 사용하는 이유는 무엇입니까? 스크립트 대신 DSC를 사용하는 진정한 장점은 대상 시스템에 대해 푸시 또는 풀 구성을 저장할 수있는 위치를 정의 할 수 있다는 것입니다 ( 푸시 및 풀 구성 모드 참조) . 구성은 머신이 물리적인지 가상인지 상관하지 않지만 DSC를 가져 오기 위해 서버를 부팅하려면 최소한 2012 년이 필요하다고 생각합니다.