公司有一台 Windows server 2008 R2 服务器的空余磁盘空间比较多,打算利用起来作为其它服务器的远程备份。在配置好了IIS的FTP服务,并在Linux下完成了FTP备份脚本并加入到crontab之后,忽然想到自己忽略了一项工作,就是在Windows上定期删除过期的备份文件。 不过Windows上可不像Linux那么方便,一个find口令就能全部搞定,记得以前研究过DOS下用BAT脚本来处理,结果光在时间的判断上都搞了很久,不过还好目前Windows Server 2008 上都默认集成了PowerShell工具,Windows Server 2003 上也可以安装。 最后,我在参考了一些资料后,通过一个简单的PowerShell脚本加Windows计划任务,完成了这项工作。
相关步骤如下: 1.解除系统对PowerShell脚本执行的禁止 由于默认系统中PowerShell脚本没有足够的权限运行,因此我们需要手动修改并赋予其执行权限,步骤如下: 控制面板 - 管理工具 - Windows PowerShell Modules
PS C:\Windows\system32> Get-ExecutionPolicy Restricted PS C:\Windows\system32> Set-ExecutionPolicy RemoteSigned
执行策略更改 执行策略可以防止您执行不信任的脚本。更改执行策略可能会使您面临 about_Execution_Policies 帮助主题中所述的安全风险。是否要更改执行策略? [Y] 是(Y) [N] 否(N) [S] 挂起(S) [?] 帮助 (默认值为“Y”): Y
至此,便解除了系统对PowerShell脚本执行的禁止。 |