手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表分类:Software

[转载]使用IIS 7.0 PowerShell 创建web站点,Web应用,虚拟路径和应用程序池

在博客园代震军BLOG 上,他翻译了:使用IIS 7.0 PowerShell 创建web站点,Web应用,虚拟路径和应用程序池,因为可能会在以后使用windows服务器,所以相对比较关心一下,也就复制了一份做为资料。

原文网址:http://www.cnblogs.com/daizhj/archive/2008/12/22/1352019.html
作者:代震军(我看原文最后还有个人信息,也一并转载,省得说我复制部份,呵呵)

原文如下:

      原文链接:Creating Web-Sites, Web Applications, Virtual Directories and Application Pools

      在本文中您将学会如何去创建WEB站点,Web Applications, 虚拟目录和应用程序池.

介绍

      IIS PowerShell 名空间包括诸如: Web-Sites, Apps, Virtual Directories 和 Application Pools. 

使用内置的PowerShell cmdlets可以很容易创建一个名空间项和管理该项.

创建Web站点

      如果您熟悉PowerShell 的话,就会知道在各种PowerShell 名空间下New-Item cmdlet 通常被用于创建

新项。 举个例子,当前命令 "New-Item c:\TestDirectory" 会创建一个新的文件夹 (尽管多数人使用New-Item

的别名命令 "MD" 或 "MKDIR" ). 在IIS 7.0 PowerShell 名空间下,New-Item 也常用于创建新的Web站点.

参数

      在创建一个文件系统路径时,您需要指定一个路径名称. 不巧的是当前创建WEB站点时这是不够的. 除了像

文件系统路径这样的参数之外,还需要network bindings. 下面的命令用于创建一个新的WEB站点并使用dir命令

进行显示:

 

PS IIS:\Sites> New-Item iis:\Sites\TestSite -bindings @{protocol="http";bindingInformation=":80:TestSite"-physicalPath c:\test

PS IIS:\Sites
> dir

Name             ID   State      Physical Path                  Bindings
----             --   -----      -------------                  --------
Default Web Site 1    Started    f:\inetpub\wwwroot             http *:80:
TestSite         
2    Started    c:\test                        http :80:TestSite 

 

     这里直接使用了 -physicalPath 参数. 然而您可能会问: -bindings 看起来咋这么复杂?.

     在构造时通常使用hashtable (在 这里 了解更多PowerShell hash tables信息). hash table 中的键值对表示一个

设置集合,该集合在IIS站点bindings section中会反射出相关属性:

 

<bindings>
        
<binding protocol="http" bindingInformation=":80:TestSite" />
</bindings> 

 

      现在我们找出了一个使用hash table的原因: IIS 配置是可以使用属性进行扩展的。 (查看 这里 了解更多信息) . 您

可以想像一下使用其它属性扩展 <binding> 元素节点.  hash table 的键值对提供了这种弹性.

      坦白说,该语法有一点复杂. 我们正在考虑在Tech Preview中封装一些典型任务:比如创建站点的方法或脚本。

删除站点

      下面是删除刚创建的站点.

PS IIS:\ >Remove-Item IIS:\Sites\TestSite 

创建Web Applications

    创建Web Applications 要比创建站点要容易. 下面: 

PS IIS:\> New-Item 'IIS:\Sites\Default Web Site\DemoApp' -physicalPath c:\test -type Application 
 

Name                     ApplicationPool          EnabledProtocols         PhysicalPath
----                     ---------------          ----------------         ------------
DemoApp                  DefaultAppPool           http                     c:\test 

 

     您仅需指定的一个参数是 type (-type) ,因为在一个站点下,您可能要创建一个Applications 或一个虚拟路径.

通过指定 -type 参数,就会告之 IIS Provider 要创建一个application.

 

     要删除这个 application 的话,也可以使用Remove-Item(见上面删除站点).  

创建虚拟目录

      要创建虚拟目录,您也要使用New-Item cmdlet. 下面会在指定站点(Default Web Site)下创建两个虚拟目录。

一个位于站点下,一个位于刚创建的 Web Application (DemoApp)下面.

 

 

PS IIS:\> New-Item 'IIS:\Sites\Default Web Site\DemoVirtualDir1' -type VirtualDirectory -physicalPath c:\test\virtualDirectory1

Name                                              PhysicalPath
----                                              ------------
DemoVirtualDir1                                   c:\test\virtualDirectory1


PS IIS:\
> New-Item 'IIS:\Sites\Default Web Site\DemoApp\DemoVirtualDir2' -type VirtualDirectory -physicalPath c:\test\virtualDirectory2

Name                                              PhysicalPath
----                                              ------------
DemoVirtualDir2                                   c:\test\virtualDirectory2

 

创建应用程序池

 

      创建应用程序池更简单. 仅需指定一个名称即可.

PS IIS:\> new-item AppPools\DemoAppPool

Name                     State
----                     -----
DemoAppPool              {}

      简单吧,不是吗? 现在让我们将这些知识点连起来做一个完整的方案.

将所有知识点连在一起

    在这个方案中,我们将执行下面这些步骤:

  1. 创建一系列的文件系统路径用于绑定站点, web applications 和虚拟文件。
  2. 向新创建的目录下拷贝一些简单的web内容。
  3. 创建一个新的应用程序池。
  4. 创建一个新的站点,一个新的 application 以及两个虚拟目录并将其绑到新创建的应用程序池上。
  5. 使用浏览器请求(访问这些内容)。

步骤 1: 创建目录

   我们使用 New-Item cmdlet 来创建新的文件系统目录. 执行下面命令 (如不想指定-type 参数的话,可使用'md'):

New-Item C:\DemoSite -type Directory

New
-Item C:\DemoSite\DemoApp -type Directory

New
-Item C:\DemoSite\DemoVirtualDir1 -type Directory

New
-Item C:\DemoSite\DemoVirtualDir2 -type Directory 

 

步骤 2: 拷贝内容

      现在向这些目录中写入一些 html 内容(文件):

Set-Content C:\DemoSite\Default.htm "DemoSite Default Page"

Set
-Content C:\DemoSite\DemoApp\Default.htm "DemoSite\DemoApp Default Page"

Set
-Content C:\DemoSite\DemoVirtualDir1\Default.htm "DemoSite\DemoVirtualDir1 Default Page"

Set
-Content C:\DemoSite\DemoVirtualDir2\Default.htm "DemoSite\DemoApp\DemoVirtualDir2 Default Page"

 

 

步骤 3: 创建新的应用程序池

     为站点创建一个新的应用程序池 'DemoAppPool' (如之前的例子中您也创建的话,请先删除它).  

New-Item IIS:\AppPools\DemoAppPool

Step 4: 创建新的站点, Web Applications 和虚拟目录并绑定到应用程序池上

     这里简化一下,我们创建 DemoSite, DemoApp 和两个虚拟目录:

      DemoVirtualDir1 绑定到DemoSite 下

      DemoVirtualDir2 绑定到DemoApp 下

     我们将DemoSite 和 DemoApp 绑定到之前创建的 DemoAppPool 上. 为了不与'Default Web Site' 冲突,

这里DemoSite 的端口设置为 8080: 

New-Item IIS:\Sites\DemoSite -physicalPath C:\DemoSite -bindings @{protocol="http";bindingInformation=":8080:"}

Set
-ItemProperty IIS:\Sites\DemoSite -name applicationPool -value DemoAppPool

New
-Item IIS:\Sites\DemoSite\DemoApp -physicalPath C:\DemoSite\DemoApp -type Application

Set
-ItemProperty IIS:\sites\DemoSite\DemoApp -name applicationPool -value DemoAppPool

New
-Item IIS:\Sites\DemoSite\DemoVirtualDir1 -physicalPath C:\DemoSite\DemoVirtualDir1 -type VirtualDirectory

New
-Item IIS:\Sites\DemoSite\DemoApp\DemoVirtualDir2 -physicalPath C:\DemoSite\DemoVirtualDir2 -type VirtualDirectory

 

     好,下面就要请求这些web 内容了。

步骤 5: 请求Web 内容

     当然,您可以打开浏览器并敲入地址 http://localhost:8080/ ,以及其它链接(上面已创建)。但本文是PowerShell

的walkthrough 所以我们使用 .NET WebClient classes 来实现这个请求:

 

$webclient = New-Object Net.WebClient

$webclient.DownloadString("http://localhost:8080/");

$webclient.DownloadString("http://localhost:8080/DemoApp");

$webclient.DownloadString("http://localhost:8080/DemoVirtualDir1");

$webclient.DownloadString("http://localhost:8080/DemoApp/DemoVirtualDir2");

If you feeling adventurous you can also use Internet Explorer object itself:

$ie = new-object -com InternetExplorer.Application

$ie.Visible = $true

$ie.Navigate(http://localhost:8080/);

 

总结

     本文中,您了解了如何使用PowerShell创建WEB站点, Web Applications, 虚拟目录和应用程序池.

除此之外,我们还使用 PowerShell 创建了一个功能(函数)化的完整方案.

 

     译者注: PowerShell Provider for IIS 7.0 (x86) - CTP2下载连接,请点击这里:)

     

     当然除了上面的方式来管理IIS站点之外,还可以使用Microsoft.Web.Administration(该dll位于"Windows\

System32\inetsrv目录下)。下面的PS脚本就是实现指量创建,删除等站点操作功能的:

 

function Setup-IIS
{
    
param([int]$NumSites)
    
for($i=0 ; $i -lt $NumSites ;  $i++)
    {
        
$Appfolder = "c:\inetpub\webroot\Site$i"
        
if (-not (test-path $Appfolder))
        {
            md 
$AppFolder -force | out-null
            
$defaultHTM = "$Appfolder\default.htm"
            echo 
"This is site $i" | out-file $defaultHTM
        }
    }
}
function Cleanup-IIS
{
    
param([int]$NumSites)
    [System.Reflection.Assembly]
::LoadWithPartialName("Microsoft.Web.Administration"

    
$mgr = new-object Microsoft.Web.Administration.serverManager 

    
for($i=0 ; $i -lt $NumSites ;  $i++)
    {
        
$AppPoolName= "AppPool_$i"
        
$SiteName = "WebSite_$i"
        
$Appfolder = "c:\inetpub\webroot\Site$i"
        
$mgr.Sites.Remove($mgr.Sites[$SiteName])
        
$mgr.ApplicationPools.Remove($mgr.ApplicationPools[$AppPoolName])
        
if (test-path $Appfolder)
        {
            rd 
$Appfolder -recurse
        }
    }
    
$mgr.CommitChanges()


function Makewebs-IIS
{
    
param([int]$NumSites

    
$start = get-date
    [System.Reflection.Assembly]
::LoadWithPartialName("Microsoft.Web.Administration"| out-null 

    
$mgr = new-object Microsoft.Web.Administration.serverManager 

    
for($i=0 ; $i -lt $NumSites ;  $i++)
    {
        
$AppPoolName= "AppPool_$i"
        
$SiteName = "WebSite_$i"
        
$portNumber = 8000 + $i
        
$mgr.ApplicationPools.Add($AppPoolName| out-null
        
$Appfolder = "c:\inetpub\webroot\Site$i" 

        
$site = $mgr.Sites.Add($SiteName,$Appfolder,$portNumber)
        
$site.ServerAutoStart = $true 

        
$app = $site.Applications[0]
        
$app.ApplicationPoolName = $AppPoolName
        
#$site.Bindings.Add("*:$portNumber:", "http") | out-null            
    }
    
$mgr.CommitChanges() 

    
$duration = [DateTime]::Now - $start
    write
-host "Total seconds: " + $duration.TotalSeconds.Tostring()
}

 

     我们只要以“管理员身份”运行Powershell,并在命令行下输入如下(以创建站点为例)代码:   

>Makewebs-IIS 10

 

     这样就会批量创建10web站点了:)

     好了,今天的内容就先到这里了。


     原文链接:http://www.cnblogs.com/daizhj/archive/2008/12/10/1352019.html

     作者: daizhj, 代震军

     Tags: iis7,powershell,powershell provider

     网址: http://daizhj.cnblogs.com/

————EOF————

由于PowerShell将会成为未来CMD的替代品,对于它,有很多人都在关注着,也曾经下载了一个关于PowerShell的介绍和简单使用 的PDF,(在家里),等有空的时候也一并上传

 

Tags: iis, power shell, 翻译, 转载

极品时刻表2008.12.23版

极品时刻表是国内推的最早的一款列表时刻表的软件,而且更新极快,单文件。以前出远门全是靠它来计算我何时该到车站,该订哪列车。

最近他又有更新,再加上又快到春节了,估计下载量又会超标吧

更新内容如下:
* 升级为2008年12月21日全国列车最新运行图
* 更新部分数据

好象是说极品与铁道部有接触,否则,哪来这么快就能更新?不过网友也有特别的回复,当然不是说极品的,是说铁路:每次提速,在小站停的车就减少一些,经过n次提速和调整,我回家终于没有车坐了.

官方网址:http://www.jpskb.com

Tags: 时刻表, 列车, 极品时刻表

HTML 5的五个激动人心的特性

原文来自:http://www.cnbeta.com/articles/72792.htm
图文混列,图片同样来自cnbeta,并未复制到本地

建议到cnbeta上观看原文,本文仅作备份

HTML 5基本思维概念形成于2003年,之后W3C对页面超文本应用技术工作小组(WHATWG)开发的HTML草图颇感兴趣,这个小组的开发人员均来自Apple ,Mozilla,和Opera。2007年W3C工作小组正式成立,主要进行HTML 5规格进行开发。目前开发仍在进行中,有望在2012年发布。

HTML 5旨在改进HTML的协同工作能力,增加了急需的页面内容描述。它还增加了HTML 4对页面程序所缺乏的特性。在本文中,让我们来看看HTML 5将会为我们带来什么激动人心的特性。

1.新的HTML元素,增强描述内容的能力


HTML的主任务是描述页面的架构,例如在<p></p>元素之间的文本内容,HTML将告诉浏览器这些文本是一个段落。


在HTML 5中将增加更多的HTML组件,给网页开发者提供更好的,更精确的方式来描述数据对象。请看以下的对比情况:

该布局的问题是,对于浏览器来说,所有的一切都是一个<div>元素。浏览器将平等对待<div>元素里面的内容,因为他无法进行区分,包括“级别”和“标识”,比如content, sidebar,和footer不同的网站内容各不相同。

在HTML5中,可以通过以下的方式进行同一个例子的布局:


这样浏览器就能区分各个部分,页面的主要内容在<article>元素中,导航栏在<nav>元素中等等。除了更清晰和更符合语 意的标记,它还增强了标记的互用性,比如搜索引擎能更精确的确定页面上什么内容比较重要,它可以忽略掉<nav>元素 和<footer>里的内容,因为他们通常不包含页面的重要内容,提高了搜索引擎的效率。

另外对于页面开发者来说,他们能更简单统计页面的数据,比如统计视频数量时只需在<video>元素里统计就行。对于手持设备等主要进行文章浏览时,可以直接定位到<article>元素中的内容。

2.改进页面表单操作

当今的网页基本上都离不开表单,在HTML 5中将包含一个达改进叫Web Forms 2.0, 用来描绘如何进行页面表单操作。其中最打的特点就是“表单确认”。当前,开发者通常使用JavaScript(客户端)和PHP(服务端)代码来确认输入 的内容。比如,一些页面的单格中的必填内容:


在HTML 4中,以上类型表单的标记一般类似于下面的形式:


在这个例子中,你得使用脚本来确认用户递交的内容,开发者必须得写出自己的确认代码,来确认用户并没有留下空白单格。


而在HTML 5中无需使用确认脚本,它将提供额外的元素属性,比如required和email 属性,能自动检查用户名和Email栏不是空白的,而且Email地址格式是有效的。

3.新的API让页面程序开发更简单

HTML 5中将为新元素和现有的元素提供更多的API,旨在改进页面程序开发和增加HTML 4所缺乏的特性。比如,一个视频和音频方面的API将与<audio>和<video>元素一起使用,它将提供视频和音频回放能 力,而无需依赖第三方程序,比如Flash。



4.<canvas>元素可以使图像脚本更灵活

如下图,通常我们发布的图表都是通过使用图片编辑器来完成,一旦数据有了改变,你只能再次处理新的图片。在<canvas>元素的协助下,一旦数据有所改变,你可以通过各种脚本来修改饼状统计图(和其他图表)的数据。


5.用户可以编辑网页的部分内容


HTML 5中的User Interaction 用来描述页面内容交互工作的新方式。它的contenteditable 属性可以让开发者决定,页面哪部分内容允许进行用户更改,这对于wiki类的网站更为有用。

总结

W3C有望在2012年公布该标准,但这并不意味这我们还要等这么长的时间,才能开始使用HTML 5中的新特性。许多主流的浏览器已经开始支持<canvas>等元素,比如Firefox1.5版以后就开始支持。
访问:5 Exciting Things to Look Forward to in HTML 5

Tags: html, 特性, 表单, api

无线密码恢复软件

电脑重装,什么东西最让你郁闷?密码。。。是的,密码
网络密码,论坛密码,乱七八槽的,你都记得住吗?还在用大脑?还是用记事本,用软件?
所说,人可以记忆的复杂密码一般为7个左右。所以,密码不要设的太多。
但是自己的设的密码还能猜呢,别人设的怎么办?比如我们的无线网络,在N多地方登录过,你怎么记得清每一处的密码?
推荐这款软件,可以让你把系统使用过的无线密码统统翻译出来。试过有效。

软件下载地址:http://www.hanzify.org/index.php?Go=Show::List&ID=12260
汉化作者:南方的雨
软件介绍:WirelessKeyView 让你可以恢复 Windows 操作系统(非第三方产品)存储的无线网络密匙(WEP/WPA)。该软件采用十六进制和 Ascii (如果提供)码显示带有适配器名称和用户图形界面的密匙。该信息可以被拷贝到剪贴板或者导出为 Text/HTML/XML 文件格式。该软件不需要进行安装

试用情况:主要是两个文件,一个EXE,一个INI文件,运行后会生成一个CFG文件,没有广告,仅在帮助的左下角有一个南方的雨的名称和链接。其余干干净净。当然,如果你不喜欢中文版,你就把那个ini文件删除就行了

Tags: 无线, wireless, 恢复

Google Picasa 3.1

在很早很早以前,我们的看图软件都是用的acdsee,直到现在机器里还保存着2.4和3.1这样的经典版本,随着时间的推长,acdsee的肚量也越来越大,启动速度也越来越慢。最后还出了一个pro版。不过这一切都和我无缘了。因为我不再使用它。

在不再使用的日子里,我尝试了一些其他的软件:xnview,光影魔术手(新版本里面有看图软件了)等。但效果确实不能让人满意。光影的看图功能还不是很强劲,但比xnview要好上很多。

picasa也是我很久前就用的软件。刚出测试版的时候就使用了。只是那时候的效果很不好,在用上一段时间后就放弃了。

由于我现在用的是2003的精简版,里面看图功能被拿掉了。所以我最初用xnview,但是不舒服,后来就换成了picasa。现在我很满意:速度和编辑功能都相对提高了很多,而且滚轮的无限级缩放也很人满意。空格全屏非常爽。当然还有他自带的picasa WEB功能,可以让你在看图的时候选择是否上传到picasa 网站。

贴上一些介绍:

一款可帮助您在计算机上立即找到、修改和共享所有图片的软件.每次打开 Picasa 时,它都会自动查找所有图片(甚至是那些您已经遗忘的图片),并将它们按日期顺序放在可见的相册中,同时以您易于识别的名称命名文件夹.您可以通过拖放操 作来排列相册,还可以添加标签来创建新组.Picasa保证您的图片从始至终都井井有条.Picasa还可以通过简单的单次点击式修正来进行高级修改,让您只需动动指尖即可获得震撼效果.而且,Picasa还可让您迅速实现图片共享–可以通过电子邮件发送图片、在家打印图片、制作礼品 CD,甚至将图片张贴到您自己的blog中.

下载:Google Picasa 3.1 Build 70.71

The new features include:

-Picasa in 38 languages
-Advanced sharing options
-New and improved scrolling
-New sharpen slider

Tags: picasa, google, 看图软件, acdsee, 光影魔术手