Powershell example 1

Restart-Computers.ps1

# Define input parameters
param (
  [string] $filename = $(throw "Filename is required!")
)

Write-Host "Reading computer names from $filename"

# Read file
$computers = get-content $filename
foreach ($computer in $computers) {

  # Connect to WMI
  $wmi = get-wmiobject -class "Win32_OperatingSystem" `
   -namespace "root/cimv2" -computer $computer

  # Restart computer
  foreach ($item in $wmi) {
    $wmi.reboot()
    write-host "Restarted " + $computer
  }
}

ScopeTest.ps1

write-host "1 (var): $var"

$var = "SCRIPT"
$global:var = "GLOBAL"

write-host "2a (var): $var"
write-host "2b (global): $global:var"

function foo {
  write-host "3a (var): $var"
  write-host "3b (global): $global:var"

  $var = "LOCAL"
  $script:var = "SCRIPT!"

  write-host "4a (var): $var"
  write-host "4b (global): $global:var"
  write-host "4c (script): $script:var"
}

foo

write-host "5a (var): $var"
write-host "5b (global): $global:var"
write-host "5c (script): $script:var"
 

NegativeMatchingTest.ps1

$var="The-quick-brown-fox-jumped-over-the-lazy-dog."
$var2="The quick brown fox jumped over the lazy dog."
$regex=[regex]"/s{1}"
$var
if (($regex.IsMatch($var)) -eq "False")
{
write-host "Expression has spaces"
}
else
{
write-host "Expression has no spaces" }

$var2
if (($regex.IsMatch($var2)) -eq "False")
{
write-host "Expression has spaces"
}
else
{
write-host "Expression has no spaces" }

 

ForEachFruit.ps1

#ForEachFruit.ps1
$var=("apple","banana","pineapple","orange")
foreach ($fruit in $var) {
$i++ #this is a counter that is incremented by one each time through
write-host "Adding" $fruit
}
write-host "Added" $i "pieces of fruit"

 

ForEachFile.ps1

#ForEachFile.ps1
set-location "C:/"
$sum=0
foreach ($file in get-childitem) {
#$file.GetType()
  if (($file.GetType()).Name -eq "FileInfo") {
   write-host $file.fullname `t $file.length "bytes"
   $sum=$sum+$file.length
   $i++
   }
}
write-host "Counted" $i "file for a total of" $sum "bytes."
ForEachSvc.ps1 
#ForEachSvc.ps1

get-service | foreach {
  if ($_.status -eq "Running") {
  write-host  $_.displayname "("$_.status")" -foregroundcolor "Green"
  write-host `t "Service Type="$_.servicetype -foregroundcolor "Green"
  }
  else
  {
  write-host  $_.displayname "("$_.status")" -foregroundcolor "Red"
  }
}
IfTest.ps1 
#IfTest.ps1
$i=11
if ($i-le 10) {
"Less than 10"
}
else
{
"Greater than 10"
}

 

IfElseIfTest.ps1

#IfElseIfTest.ps1

$i=45
if ($i -le 10) {
write-host "Less than 25"
}
elseif ($i -le 50)
{
write-host "Less than 50"
}
else
{
write-host "Greater than 50"
}
 

IfElseIfTest.ps1

#IfElseIfTest.ps1

$i=45
if ($i -le 10) {
write-host "Less than 25"
}
elseif ($i -le 50)
{
write-host "Less than 50"
}
else
{
write-host "Greater than 50"
}

时间: 2024-08-30 23:47:52

Powershell example 1的相关文章

使用AppVeyor CI 和PowerShell部署应用概述

开头语 关于如何为单一的ASP.NET web应用程序设置持续集成,你可以找到很多文章.这些文章都写到如何通过Web Deploy来构建完美的环境来部署简单.只需稍作修改VS.NET模板的web应用程序.任何东西在这一完美环境下都能顺利进行. 但是,真正部署应用程序的话却并非易事.总是有问题不断出现在以下情况中:当需要在注册表(Registry)或自定义文件夹中配置设置,或者你需要部署到Web集群时. 本文中,我们通过使用PowerShell远程处理(PowerShell remoting)和A

超越PowerShell PowerGUI使用心得

我们知道PowerShell将成为cmd的继任者,微软已经将其集成到Windows Server 2008和Windows 7中.不知道大家有没有注意到,在Windows 7中除了PowerShell之外,还有一个名为PowerGUI的工具,从名称上看其实它就是基于图形用户界面的PowerShell,是一款第三方PowerShell增强软件.当然,也不仅仅如此.因为PowerGUI提供了高效率的NET风格的脚本开发环境,而且也便于脚本的调试,这对于一个PowerShell脚本开发者来说,使用Po

如何利用PowerShell分析SharePoint WebApplication体系结构

之前一篇文章<两张图看清SharePoint 2013 Farm 逻辑体系结构>谈到Web Application,Content Database,Site Collection的关系.有了这个逻辑结构图之后,这篇文章将使用PowerShell,来更加直观的展现SharePoint WebApplication的体系结构. SharePoint WebApplication Structure 从上图可以看出,一个WebApplication可以包含多个Content Database,可以

PowerShell如何批量签入SharePoint Document Library中的文件

由于某个文档库设置了编辑前签出功能,导致批量导入文件时这些文件默认的状态都被签出了.如果手动签入则费时费力,故利用PowerShell来实现批量签入Document Library中的文件. Resolution Add-PSSnapin Microsoft.SharePoint.PowerShell function CheckInDocument([string]$url){ $spWeb=Get-SPWeb $url $spDocument=$spWeb.Lists.TryGetList(

如何通过PowerShell获取Site Collection下被签出的文件

由于权限的设置,当文件被签出时导致别人不可见了,这对校验文件个数的人来说着实是件烦恼的事.幸好利用PowerShell,可以获取Site Collection下被签出的文件. Resolution Add-PSSnapin Microsoft.SharePoint.PowerShell function GetAllCheckOutFiles([string]$siteUrl){ $spSite=Get-SPSite $siteUrl $spSite.AllWebs|%{ $_.Lists|wh

如何通过Windows 8 Powershell创建USB引导盘

大家可能已经比较熟悉了制作Windows USB启动盘进行操作系统引导和安装的方法,该方法一般需要第三方的工具例如UltraISO,Windows 7 USB Tool或者RM等加载安装ISO映像文件,拷贝安装Binary然后再用Diskpart磁盘管理工具封装启动分区等. 现在Windows8中,USB的启动盘制作更加简单,可以不再需要第三方工具或者Diskpart磁盘分区工具了,Windows 8本身就可以加载ISO或VHD(虚拟磁盘). 过去,采用的方式流程为:Diskpart分区,Lis

为 windows 服务器安装 PowerShell 管理库

最近在摸索一种命令方式备份Hyper-V里的虚拟机,因为平时备份都是手动关闭VM,然后Export,这样浪费很多的时间,于是折腾了下,想用命令实现自动化完成VM的备份. 查阅了下资料,看到了一个开源的软件能够用此Powershell Management Library里的命令完成大部分的虚拟机管理操作,在这里分享此网站: http://pshyperv.codeplex.com/ 但是在Import 此Module时出现如下错误: Import-Module : There were erro

2008R2core模式下安装PowerShell[为企业部署Windows Server 2008系列十一]

windows server 2008 R2版本发布一段时间了,再三斟酌后还是决定将2008R2的应用也写进本次2008 主题中来. 很多朋友喜欢core模式,甚至喜欢命令行,那么安装了core模式的你,再给core模式 的2008R2安装上PowerShell 那真是将命令行发挥到极致了(帅呆了!!). 对,我也是这样想 的! 那么下面我们一起来看看如何在core模式下安装PowerShell: 第一步:用下面的命 令列出当前服务器的功能和状态: DISM /Online /Get-Featu

精通Windows Server 2008多元密码策略之PowerShell篇

前言 在上两篇文章<精通Windows Server 2008 多元密码策略之ADSIEDIT篇>和<精通Windows Server 2008 多元密码策略之LDIFDE篇>中我向大家介绍了如何通过ADSIEDIT工具.活动目录用户和计算机管理单元和LDIFDE命令行工具创建.管理密码设置对象PSO.在这篇文章中,我将向大家展示如何使用Quese公司出品的针对AD管理的PowerShell来实现.管理多元密码策略. 按照惯例,为了让大家在操作的时候有一个清晰的思路,我将主要的操作

Windows PowerShell的12项功能

解答PowerShell:PowerShell原来的开发代号是Monad,原计划是用以替代Windows中的命令行工具,但是后来微软说它只是技术上的扩充.使用PowerShell,管理员可以做任何在图形界面下所做的事情.Windows PowerShell 1.0可以运行在Windows XP SP2.Windows Server 2003和Windows Vista上. 1. 内置Cmdlets (即"commandlets") Windows PowerShell中的所有Cmdle