Share via


C# 및 PowerShell 스크립트 샘플

이 문서에서는 호스팅 지침 전체에서 언급된 PowerShell 및 C# 샘플 스크립트에 대한 요약을 제공합니다. 배포, 구성, 마이그레이션 및 프로비전 작업에 사용할 수 있습니다.

작성자: 월터 올리버

배포 스크립트 -공유 호스팅

  1. 웹 서버

    이러한 PowerShell 스크립트는 웹 서버를 배포하고 구성하는 데 도움이 됩니다. 이러한 스크립트는 PS 2.0을 사용하여 작성 및 테스트되었습니다.

    • runPKGMGT_IIS.PS1: "pkgmgt.exe" 명령 도구를 실행하여 공유 호스팅에 권장되는 모듈과 함께 IIS 7.0 을 설치합니다. 웹 서버 역할 설치를 참조하세요.

      • 스크립트는 "unattended.xml" 파일을 입력 구성 데이터로 사용하며 설치할 IIS 모듈을 지정합니다.
      • 필수: Unattend.xml 버전 번호를 Windows의 현재 제품 버전(예: version="6.0.6000.16386")으로 설정해야 합니다. 마우스 오른쪽 단추를 클릭하고 C:\Windows\RegEdit.exe 세부 정보 탭을 선택하여 찾을 수 있습니다. PkgMgr에는 원하는 모든 구성 요소를 제대로 설치할 수 있도록 이 매개 변수가 필요합니다.
    • Install_IISSharedHosting.PS1: 공유 호스팅 지침에 따라 모든 구성 스크립트를 실행합니다. 공유 호스팅에 대한 IIS 7.0 구성을 참조하세요.

      • 스크립트는 IISSettings.xml 파일을 입력 구성 데이터로 사용합니다. 동적 압축 및 유휴 임계값에 대한 설정이 포함되어 있습니다.
      • 서버에 대한 기본 파일 설정은 Default_File_Config.xml 통해 제어됩니다. 추가하거나 제거할 모든 기본 파일 목록이 포함되어 있습니다. 원하는 만큼 항목을 만듭니다. activity="ADD"를 추가하거나 제거할 "REMOVE"로 설정합니다.
    • Enable32bitModeWorkerProcess.PS1: 64비트 컴퓨터에서 32비트 모드 작업자 프로세스를 사용하도록 설정합니다.

    • AppPoolIdentAsAnonymousUser.PS1: 애플리케이션 풀 ID를 익명 사용자로 설정합니다.

    • AddRemoveDefaultDoc.PS1: Default_Files_Config.XML 입력 파일 사양에 따라 기본 문서를 추가하거나 제거합니다.

    • ConfigureDynamicIdleThreshold.PS1: dynamicIdleThreshold 구성 속성을 설정합니다.

    • ConfigureDynamicCompression.PS1: 동적 압축 속성을 설정합니다.

    • HTTPResponseCache.PS1: HTTP 응답 캐시를 표시합니다.

    • 출시 예정: ASP.NET 중간 신뢰 설정

  2. 파일 서버

    이러한 PowerShell 스크립트는 파일 서버를 배포하고 구성하는 데 도움이 됩니다. 이러한 스크립트는 PS 2.0을 사용하여 작성 및 테스트되었습니다.

    • InstallFileServer.PS1: 모든 스크립트를 실행하여 FileServer 역할을 설치하고 구성합니다.

      • 파일: FolderPermissions.xml, SharePermissions.xml, DirectoryQuotas_Settings.xml 샘플 설정으로 채워집니다. 이러한 설정은 배포마다 다르므로 각 설정은 배포 전 구성되어야 합니다.
      • DirectoryQuotas_Settings.xml: 필요한 만큼의 폴더 할당량을 정의할 수 있습니다.
      • FolderPermissions.xml: 필요한 만큼 폴더를 정의할 수 있으며 각 폴더에는 0, 1 또는 많은 권한이 있을 수 있습니다.
      • SharePermissions.xml: 필요한 만큼의 공유를 정의할 수 있습니다(새 공유가 기존 폴더에 해당하지 않으면 오류가 발생). 각 공유에는 0, 1 또는 많은 권한이 있을 수 있습니다.
    • runPKGMGR_FileServer: "pkgmgt.exe" 명령 도구를 실행하여 파일 서버 역할을 설치합니다. 스크립트는 "unattended.xml" 파일을 입력 매개 변수로 사용하며 설치할 모듈을 지정합니다.

    • DirectoryQuota.PS1: 디렉터리 할당량을 설정합니다. 디렉터리 할당량을 참조하세요.

    • Folder_Shares_Permissions.PS1: "SharePermissions.XML" 입력 파일의 사양에 따라 폴더 권한을 설정합니다. 공유 및 NTFS 권한을 참조하세요.

프로비전 및 관리

  1. C#의 프로비전 샘플 은 몇 가지 일반적인 프로비저닝 작업을 수행하기 위한 C# 샘플 집합입니다. C#의 프로비전 샘플 문서에서 세부 정보를 참조하세요.

  2. 호스팅 서비스 샘플 은 사이트, 사용자 계정, SQL db 등을 프로비전하기 위한 광범위한 C# 코드 샘플입니다. 호스팅 서비스 코드 샘플 문서의 세부 정보를 참조하세요.

  3. 코드 샘플 및 스크립트는 IIS 7.0 사이트 및 구성 작업을 만들기 위한 샘플 코드 조각을 제공합니다.

  4. [IIS 사이트 프로비저닝 PowerShell 스크립트] (https://www.iis.net/community/files/hosting/ProvisioningScripts 4-7-2008.zip "IIS 사이트 PowerShell 스크립트"). AppPools, 사이트, 애플리케이션, 가상 디렉터리 및 바인딩의 프로비저닝을 자동화하는 데 도움이 되는 6가지 PowerShell 스크립트입니다. Microsoft.Web.Administration 관리 코드 네임스페이스 인터페이스를 사용하여 이러한 개체를 프로비전합니다. 각 예제는 다음과 같습니다.

    4.1. 구성 데이터 파일에 따라 정렬된 AppPools, 사이트, 애플리케이션, 가상 디렉터리 및 바인딩을 여러 개 만들려면 Sample_AppPool_Site_AppCreation 사용합니다. 이 스크립트는 다른 모든 개체를 호출하여 ProvisioningConfig.xml XML 파일에 있는 구성 데이터에 따라 각 개체를 만듭니다.

    예제:

    Sample_AppPool_Site_AppCreation
    

    ProvisioningConfig.xml XML 파일의 예:

    <Script>
    <ApplicationPool>
    <Site Name="DAP1Site2" PhysicalPath="C:\Content\DAP1Site2">
    
    <Application PhysicalPath="C:\Content\DAP1Site2\App1" RelativePath="/App1">
    <VirtualDirectory PhysicalPath="C:\Content\Logs" RelativePath="/App1/VDir"/>
    </Application>
    
    <Application PhysicalPath="C:\Content\DAP1Site2\App2" RelativePath="/App2">
    </Application>
    
    <Binding Port="80" BindingInfo="www.DAP1Site2.com" Protocol="http"/>
    
    <Folder name="C:\Content\DAP1Site2" quota="50mb"> 
    <Permission>
    <User>Administrators</User>
    <Capability>F</Capability>
    </Permission>
    </Folder>
    
    </Site>
    </ApplicationPool>
    </Script>
    

    4.2. AppPools를 만들려면 CreateIISAppPool PoolName 사용자 이름 암호를 사용합니다. 사용자 이름과 암호를 제공하지 않으면 현재 사용자를 사용합니다.

    예제:

    CreateIISAppPool "DemoAppPool1" "" ""
    

    4.3. 사이트를 만들려면 CreateIISSite SiteName PhysicalPath PoolName ID를 사용합니다.

    예제:

    CreateIISSite "DAP1Site1" "C:\Content\DAP1Site1" "DemoAppPool1" 1702121
    

    4.4. 사이트에서 애플리케이션을 만들려면 CreateIISApplicationOntoSite PhysicalPath RelativePath SiteName PoolName을 사용합니다.

    예제:

    CreateIISApplicationOntoSite "C:\Content\DAP1Site1\App1" "/App1" "DAP1Site1" "DemoAppPool1"
    

    4.5. 애플리케이션에 대한 가상 디렉터리를 만들려면 CreateIISVDirOntoApplication ApplicationPhysicalPath PhysicalPath SiteName RelativePath를 사용합니다.

    예제:

    CreateIISVDirOntoApplication "C:\Content\Logs" "/App1/VDir" "DAP1Site1" "/App1"
    

    4.6. 사이트에 대한 바인딩을 만들려면 CreateIISBindingOntoSite SiteName Port BindingInfo 프로토콜을 사용합니다.

    예제:

    CreateIISBindingOntoSite "DAP1Site1" 80 "www.DAP1Site2.com" "http"