举例&详解PowerShell中变量, 循环和条件

本篇将介绍PowerShell中的变量(Variable)和循环(Loop)和条件(Condition)。 初学者在PowerShell编写脚本时,总会遇到理解上面的问题。无论是你有编程基础还是没有编程基础,理解变量和循环都是编写PowerShell脚本必须要掌握的知识。 首先,变量 $。变量无非就是这个值是可变的,在PowerShell中变量使用$来表示的,变量不仅仅可以代表字符也可以代表功能。 举例: 变量是字符时: $i=”Cool”“This is $i”“This is Cool” 变量是功能时: $p = get-process bits$p 变量是功能以及字符时: $service = Get-Service bits$service$msg = “Service Name is…

用命令行(CMD)查看域控制器名称和IP

本篇将介绍如何使用Windows 命令行 (CMD) 来查看PC所在的域控制器的名城和IP。 假设你需要管理成千上万台服务器,或者你初到一个新的环境,却没有能够很好的了解管理的环境。与其问别人,你倒不如自己用命令行来查看所在域的域控制器的名城和IP。 首先,你需要在域中的任意一台电脑开启命令行。 其次,开启命令行,输入以下命令: Start -> Run -> nslookupset type=all_ldap._tcp.dc._msdcs.DOMAIN_NAME 然后你就会得到你所在的域中的所有域控制器的名称和IP。

用PowerShell来查看AD的构架版本 (Schema Version)

本篇将介绍如何使用PowerShell来查看Active Directory (简称:域,AD)的构架版本。 如果你需要同时管理很多域,有些时候你管理的域并不是由你建立的,在这个时候有必要搞清楚AD的构架版本,以至于对管理的环境有所理解。 这个时候只要你登陆到任意一台有PowerShell的PC,且这台PC是你所要查看域中,你就可以通过PowerShell来查看当前AD的构架版本: Get-ADObject -Identity “cn=Schema,cn=Configuration,dc=%dcname1%,dc=%dcname2” -Properties * | Select objectVersion 其中name1,name2是基于你的域名城,剩下其他的脚本均是固定的。 命令正确,你将会看到一个objectversion:数值。 具体数字代表什么,请参阅下表: 13 – Windows 2000 Server30 – Windows Server 200331…

解决PowerShell在运行AD模块时初始化报错

本篇将介绍如何解决PowerShell在运行AD (Active Directory)模块时初始化报错。 当你在导入Active Directory Module (AD模块)时,如果出现来以下报错怎么办? “Error initializing default drive: ‘Unable to find a default server with Active Directory Web Services running” 以上报错表述了当前运行PowerShell的PC找不到正在运行的Active Directory Web…

PowerShell查看磁盘空间编译与功能

本篇将介绍如何用PowerShell来查看磁盘空间,以及延伸到如何建立一个Parameter,甚至通过编写的PowerShell脚本来创建一个PowerShell功能。 主要命令行:Get-WMIobject ; Parameter ; cmdletbinding() ; Function ; 如何用PowerShell 查看C盘数据: Get-wmiobject win32_logicaldisk -filter “DeviceID=’c:’” DeviceID : C:DriveType : 3ProviderName :FreeSpace : 16442933248Size : 42842714112VolumeName…

如何正确使用远程PowerShell (Remote PowerShell)

本篇将详细讲解如何使用 远程PowerShell (Remote PowerShell)来解决企业服务器出现的问题。 主要命令行:Invoke-Command ; New-PSSession ; Foreach ; Copy-Item 场景:如果你仅仅是操作一个Server,你可能看不出远程PowerShell (Remote PowerShell) 的威力,但当你要操作成百上千台的服务器是,remote powershell就显得极为重要。 举例:如果你想要在100台server上同时安装Windows Feature (例如 IIS,Hyper-V等组件),如果要远程登陆到每一个Server且安装组件,可能要花费几天,但是如果使用远程Powershell,有可能你的工作将在短短的几秒钟完成。 1. 大家都知道Invoke-Command允许一台计算机在另外一台计算机上远程执行命令行,的确命令行本身已经给管理员们带来了很大的方便,但是每一次执行icm的时候,如果选择的是某一个服务器,计算机都会尝试连接到远端server>执行命令行>最后断开与远端server的链接。但是如果选择的是远程登陆的是回话,则会一直保持着联系,而且在运行速度上Session也要远远快于computername。 举例: icm -comp…

使用PowerShell设定计划任务删除大于7天的文件

本篇将介绍如何使用PowerShell来胜定计划任务删除大于7天的文件。 本功能仅仅适用于PowerShell 2.0以及以上的计算机,且操作系统需要Windows 7以上 (Windows 7, Windows 8, Windows Server 2008, 以及Windows Server 2012) 本功能可以通过batch文件来完成,但是介于PowerShell拥有着更强大的功能,因此Microsoft也鼓励程序员以及IT Pro们使用PowerShell来完成需要完成的任务。 1. 打开计划任务 2. 创建一个基本的计划任务 3. 为计划任务取一个名字 4. 在安全选项中,勾选无论用户登录与否 5.…

如何用Powershell定期压缩文件并删除

本篇将介绍如何使用Powershell定期压缩文件并删除。 要想执行本操作,首先要确定计算机已经安装了软件7zip。 以下代码仅仅删除7天以内文件。 具体Powershell代码如下: Function Zip {Param([string]$zipFile,[string[]]$toBeZipped)$CurDir = Get-LocationSet-Location “C:Program Files7-zip”.7z.exe A -tzip $zipFile $toBeZipped | out-nullSet-Location $CurDir}$files1 = (Get-ChildItem D:TestlocationLogs*.* ) If((Test-Path D:TestlocationShare$(get-date -f…

如何解决Ubuntu不能下载安装程序

当你在使用Ubuntu下载时得到报错的时候,你会尝试去更新apt-get: apt-get update 但是有时在更新index的时候,你会得到以下报错: some index files failed to download 这个就是有可能长时间不用造成了index过期。你可以通过更改Software Sources来更正下载来源: 1. alt+F2, 输入gksu software-properties-gtk 2. 在download from中选择other 3. 然后让系统自己选择哪个server最适合作为下载来源 4. 关闭窗口, 重新下载.

如何缩短站点和站点的同步时间

本篇将介绍如何缩短站点和站点的同步时间。 当使用Windows Server 2012作为DC时,管理员们可以通过更改Default ip site link来缩短同步时间。 更改后站点和站点会在Network层进行每5秒一次信息交换。这个要远远优于之前的15分钟一次信息交换。 首先进入Active Directory Sites and Services >> Inter-Site Transports >> IP >> DEFAULTIPSITELINK >>右键选择Property >> Attribute Editor >>…