欢迎光临,这里是 gOxiA=苏繁=SuFan 独立的个人博客。
本站域名:http://goxia.maytide.net or http://sufan.maytide.net
移动设备请访问:http://goxia.maytide.net/m
转载文章,请务必保留出处与作者信息,未经许可严禁用于商业用途!

[PS]使用 PowerShell 下载文件

[ 2014/02/24 13:05 | by gOxiA ]

powershell_logo

使用 PowerShell 下载文件

        前段时间部署了一个基于 Windows Server 2012 R2 的 Server Core 环境,在实际使用中会遇到需要从网站上下载文件的问题,因为 Server Core 并未提供 IE,所以下载就不是那么方便了。还好在 PowerShell 下可以调用 System.Net.WebClient 来实现下载。即:

$client = New-Object “System.Net.WebClient”

$client.DownloadFile(“http://www.maytide.net/info.txt”,”D:\info.txt”)

        虽然上述的脚本实现了从一个 URL 下载文件到本地,但是实际调用起来会感觉很麻烦。因为每次都要输入很长的脚本命令才能完成一个下载。gOxiA 在编程方面也没什么天赋,实属一菜鸟,参考了以前的脚本写了一个粗糙的下载脚本,其功能是执行脚本后提示输入 URL 的地址,然后再输入本地存储的文件路径,最后执行下载,并根据结果判断是否下载完毕。

        脚本中涉及了一些基本的命令代码,其中 Write-Host 用于输出提示文本;Read-Host 用于记录用户输入的数据;调用下载、下载地址、本地存储都使用变量,最后用 Test-Path 对下载的文件进行检查,并使用 if...else 进行判断。下面就是整个脚本的内容:

#清屏
Clear
#脚本基本信息提示
Write-Host
Write-Host PowerShell Download Tools Script.
Write-Host
#输入下载资源地址,赋予变量 $url
Write-Host Please enter URL address of download sources! -ForegroundColor Red
$url= Read-Host "Enter the URL..."
Write-Host
#输入文件存储路径,赋予变量 $local
Write-Host Please enter the local store path! -ForegroundColor Green
$local= Read-Host "Enter the store path..."
#调用下载,赋予变量 $dl
$dl= New-Object "System.Net.WebClient"
#执行下载
Write-Host
Write-Host Downloading... Please wait!!!
$dl.DownloadFile("$url","$local")
Write-Host
#将路径检查命令赋予变量 $result
$result=Test-Path $local
#对 $result 结果进行判断,如果是 True 表示下载完成,否则失败
if($result -eq $True)
{
    Write-Host Result status: Completed!!! -ForegroundColor Green
}
else
{
    Write-Host Result status: Failed!!! -ForegroundColor Red
}

        执行效果如下图:

image

ws2012r2-logo5315_powershell-logo_gif-550x0_thumb

        Windows PowerShell Web Access(PSWA)是 Windows Server 2012 中的新功能,充当 Windows PowerShell 网关,允许远程计算机基于 Web 方式(HTTPS)访问和操作目标计算机的 Windows PowerShell,以执行 PowerShell 命令和脚本,而且无需在客户端上安装 PowerShell、远程管理软件或浏览器插件。其角色有些像 Remote Desktop Gateway,且允许单机应用,并且支持工作组环境。

image_thumb3

        PowerShell Web Access 基于 Web 方式访问的,只要支持 JavaScript 和接受 Cookies 的浏览器基本都可访问操作。下面是整理出的一组浏览器兼容性测试的结果数据,参考微软官方。

        受支持的台式计算机浏览器:

  • IE 8、9、10、11  
  • Firefox 10.0.2  
  • Chrome 17.0.963.56m  
  • Safari  5.1.2

        经过最小限度测试的移动设备或浏览器

  • Windows Phone 7、7.5、8  
  • Google Android WebKit 3.1 Browser Android 2.2.1 (Kernel 2.6)  
  • iPhone 5.0.1 的 Safari  
  • iPad 2 5.0.1 的 Safari

        为工作组环境下的 Windows Server 2012 安装和配置 PowerShell Web Access 可参考下列步骤:

        首先,通过“服务器管理器”的“添加角色和功能”向导安装“Windows PowerShell Web 访问”。使用 PowerShell 命令行安装:“Install-WindowsFeature WindowsPowerShellWebAccess -IncludeManagementTools

image_thumb4

        然后,在 PowerShell cmdlet 下执行“Install-PswawebApplication”,以在 IIS 下创建其所需的 Web 应用程序。

image_thumb5

        注:前面提到 PowerShell Web Access 基于 Web 方式访问,并且使用的是 HTTPS 协议,所以需要为其准备一张证书,否则我们可以通过附加“-UseTestCertificate”创建一个自签名证书,该证书有效期为90天。

image_thumb6

        如果准备有其他证书,可通过 IIS 管理器对 Web 站点的绑定进行设置。

        接下来,需要使用“Add-PswaAuthorizationRule”为 PowerShell Web Access 配置授权规则。例如:

Add-PswaAuthorizationRule –ComputerName * –UserName “maytidesufan” –Configuration *

        其中“-ComputerName”是要授权通过 PowerShell Web Access 访问的计算机名称,也可使用“ComputerGroupName”指定一个计算机组;“-UserName”即允许访问的用户,而“UserGroupName”为用户组;“-Configuration”即允许的会话配置

        现在,我们便可打开浏览器访问 PowerShell Web Access,进行计算机管理。

image_thumb7

image_thumb8

参考资料:“部署 Windows PowerShell Web 访问”、“使用基于 Web 的 Windows PowerShell 控制台

logo_winserver2012

HOWTO:切换至 Windows Server 2012 的 Minimal Server 模式

        《Windows Server 2012 的四种运行界面模式》这篇日志中 gOxiA 讲述了 Windows Server 2012 的四种运行界面模式,相信大家对其中的 Minimal 最为敢兴趣!今天 gOxiA 将用一些时间与大家分享如何切换到 Minimal 模式。在开始前我们先来了解一张图示:

image

        在这种图中显示了 Windows Server 2012 四种运行界面模式的层次以及对应的模块名称,以官方的说法,WS2012提供的只有两种安装选项,Server Core 和 Server with GUI,后者便是文中所讲的 FullServer。但是我们可以通过命令行在实际的四种模式间进行灵活的切换。如果我们先前安装系统时选择的是 Server Core,之后我们可以借助 Powershell 将界面模式切换至 Minimal,或 FullServer,最终则是更全面的 Desktop Experience,而这些也是我们要了解的重点。

image

        例如,我们要将一个处于 FullServer 界面模式的系统切换至 Server Core,那么可以直接运行下面的命令行:

uninstall-windowsfeature user-interfaces-infra

ServerCore

        在执行完上面的命令后,需要重启计算机(restart-computer),之后我们便会看到当前的系统已经是 Server Core 界面模式。如果日后需要切换到 Minimal 模式,则只需安装“server-gui-mgmt-infra”模块即可,命令参考如下:

install-windowsfeature server-gui-mgmt-infra

install_windowsfeature_server_gui_mgmt_infra

minimal

        重新启动计算机后,进入的系统便是 Minimal 模式,如上图所示,我们除了能运行 sconfig 外,还能启动“ServerManager”或“MMC”。如果我们需要再继续切换到 FullServer 模式除了可以通过“添加角色和功能”以外,我们仍旧可以使用 Powershell 执行切换。

server_gui

        Powershell 切换到 FullServer 的参考命令如下:

install-windowsfeature server-gui-shell

FullServer

        这样我们便能切换到完整的服务器运行界面模式,如上图所示。

        如果希望通过 Powershell 获取当前 Windows Server 2012 的组件安装情况可以使用“get-windowsfeature”命令。

get_windowsfeature

        在掌握了 Windows Server 2012 四种运行模式的切换方式后,IT人员就能轻松,灵活地根据实际的管理需求,对服务器界面进行选择和部署。

分页: 1/3 第一页 1 2 3 下页 最后页 [ 显示模式: 摘要 | 列表 ]