C# 和 PowerShell 脚本示例
本文汇总了整个托管指南中提到的 PowerShell 和 C# 示例脚本。 它们可用于部署、配置、迁移和预配任务。
部署脚本 -共享托管
-
这些 PowerShell 脚本有助于部署和配置 Web 服务器。 请注意,这些脚本是使用 PS 2.0 编写和测试的:
runPKGMGT_IIS.PS1:运行“pkgmgt.exe”命令工具,使用建议的共享托管模块安装 IIS 7.0。请参阅安装 Web 服务器角色。
- 该脚本使用“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" 进行添加,或者设置 activity="REMOVE" 进行删除。
Enable32bitModeWorkerProcess.PS1:在 64 位计算机中启用 32 位模式工作进程。
AppPoolIdentAsAnonymousUser.PS1:将应用程序池标识设置为匿名用户。
AddRemoveDefaultDoc.PS1:根据 Default_Files_Config.XML 输入文件规范添加或删除默认文档。
ConfigureDynamicIdleThreshold.PS1:设置 dynamicIdleThreshold 配置属性。
ConfigureDynamicCompression.PS1:设置动态压缩属性。
HTTPResponseCache.PS1:显示 HTTP 响应缓存。
即将推出:设置 ASP.NET 中等信任。
-
这些 PowerShell 脚本有助于部署和配置文件服务器。 请注意,这些脚本是使用 PS 2.0 编写和测试的:
InstallFileServer.PS1:运行所有脚本来安装和配置文件服务器角色。
- 文件:使用示例设置填充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 权限。
预配和管理
托管服务示例是一个广泛的 C# 代码示例,用于预配站点、用户帐户、SQL 数据库等。 有关详细信息,请参阅托管服务代码示例一文。
代码示例和脚本提供了用于创建 IIS 7.0 站点和配置任务的示例代码片段。
[IIS 站点预配 PowerShell 脚本](https://www.iis.net/community/files/hosting/ProvisioningScripts 4-7-2008.zip "IIS 站点 PowerShell 脚本")。 下面是 6 个 PowerShell 脚本,可帮助你自动预配引用池、站点、应用程序、虚拟目录和绑定。 它们使用 Microsoft.Web.Administration 托管代码命名空间接口来预配这些对象。 下面是其中每个接口的示例:
4.1. 若要根据配置数据文件创建任意数量的应用池、站点、应用程序、虚拟目录和绑定,请使用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。 若要创建应用池,请使用 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 Protocol。
示例:
CreateIISBindingOntoSite "DAP1Site1" 80 "www.DAP1Site2.com" "http"