欢迎光临,这里是 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

windowsazure_logo_1

  

HOWTO:在 Windows Azure 虚机上配置 SSTP VPN

  

        VPN(虚拟专用网)大家并不会感到陌生,在 Windows Azure 上启用 VPN 服务的意义就更没必要多解释什么,大家自己心里知道就好!

  

        目前 gOxiAWindows Azure 的虚拟机上经过实践,基于 SSTP 的 VPN 是能够正常运作的,所以今天的内容也仅向大家介绍如何在 Windows Azure 虚拟机上配置 SSTP VPN。有关 VPN 常用协议的具体资料可以访问 TechNet LibraryVPN 隧道协议 的文章。

  

        要启用基于 SSTP 协议的 VPN 服务,需要准备一张证书,申请证书比较简单的办法就是用 SelfSSL 工具创建一个自签名证书,并将证书安装到 Windows Azure 虚拟机系统的计算机账户上,同时还要将证书导入到客户端“受信任的根证书颁发机构”中。这一配置过程就不再复述,创建自签名证书可参考下面的命令行:

  

selfssl.exe /N:cn=name.cloudapp.net /V:3650

  

        接下来还要准备一台虚拟机,并在 Endpoint(端点)配置中创建 TCP 443 映射。

  

        准备工作就绪,现在打开服务器管理器,添加角色和功能;勾选“Remote Access”,在后续的角色服务选择中复选“DirectAccess and VPN(RAS)”和“Routing”。

  

image

  

image

  

        稍等片刻完成安装,Windows Server 2012 系统会要求重启系统,Windows Server 2012 R2 可直接开始进行初始配置。在“Configure Remote Access”中选择“Deploy VPN Only”,完成之后向导会自动打开 RRAS 控制台。

  

image

  

image

  

        在 RRAS 控制台选中当前服务器,鼠标右键点击,执行“Configure and Enable Routing and Remote Access”,选择 Custom 进行自定义配置,在服务列表中只选择“VPN access”和“NAT”,之后跟随向导完成后续步骤,启动 RRAS 服务。

  

image

  

        回到 RRAS 控制台界面进入当前服务器属性,切换到“Security”选项卡,选择之前导入的自签名证书。

  

image

  

        再切换至“IPv4”选项卡,启用静态地址池,即“Static address pool”,并手工输入一个地址范围,如:192.168.2.1~192.168.2.20,最后确认完成整个设置。

  

image

  

        至此, SSTP VPN 的配置我们已经接近完成,现在 RRAS 控制台依次展开列表,选中 IPv4 下的 NAT,右键点击执行“New Interface”,进行网卡的添加。

  

image

  

        添加网卡时选择名为以太网开头的网卡(Ethernet)非 Internal,并在随后弹出的属性设置中,为 NAT 选择“Public interface connected to the Internet”,并复选“Enable NAT on this interface”。

  

image

  

        服务器端的配置告一段落,现在回到客户端计算机添加 VPN 连接,VPN 类型为 SSTP(安全套接字隧道协议),并允许“Microsoft CHAP Version 2(MS-CHAP v2)”协议。

  

image

  

        现在启动 VPN 连接,便可无限畅游国际互联网。连接 VPN 用户请确认是否允许进行远程连接。如果遇到其他错误,可参考“Troubleshooting common VPN related errors”。

windows_8_logo

HOWTO: 修复 Windows 8.1 BCD 0xc000000d 启动故障

        一台装有 Windows 8.1 的计算机,由于用户使用电源键强行关闭了计算机导致系统无法正常启动,开机提示 File:\\BootBCD Error code:0xc000000d ,具体错误如下图所示:

V__B3C9

        这应该是一个典型的因启动文件损坏,导致计算机无法正常启动的故障!随即使用 Windows 8.1 安装盘引导进行修复,但结果让人意外,使用安装盘的修复工具对系统自动扫描修复竟然失败了。因为之前没有恢复点和镜像备份,难不成要重装系统?!

        也不至于,调用 CMD,查看了引导卷和系统卷,应该是健康的,于是使用 bcdboot 命令尝试重建系统启动信息,命令参考如下:

bcdboot e:\\windows /l zh-cn /s c:

        因为在 Windows 安装程序的 CMD 环境下查看到系统卷当前盘符是 E,引导卷盘符为 C,所以请根据实际环境参考命令行执行。

        重建启动信息后,重启计算机,系统将自动执行更新操作并重新计算机,随后 Windows 8.1 系统便能够正常启动。

分页: 4/107 第一页 上页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]