PowerShell随笔9--- call】的更多相关文章

既然是随笔,那就想到什么说什么,既会分享主题知识,也会分享一些其他技巧和个人学习方法,供交流. 我一般学习一个东西,我都会问几个问题: 这东西是什么? 这东西有什么用,为什么会出现,出现是为了解决什么问题的? 我如何从0到hello world整一个demo出来? 开始 每个人学习的方式不一样,有的人喜欢看视频,有的喜欢看博客,有的则喜欢配着故事.我会直接去看官方文档,没有比这再精确的东西了. 当然最好能看英文文档,一当面提高英语水平,另一方面有些词汇实在没法找到合适的中文. PowerShel…
PowerShell特殊变量: PowerShell的特殊变量由系统自动创建.用户自定义的变量名称应该不和特殊变量相同. $^ :前一命令行的第一个标记 $$ :前一命令行的最后一个标记 $_ :表示表示当前循环的迭代变量. $? :前一命令执行状态,成功(Ture) 或者 失败(False) $Args :为脚本或者函数指定的参数 $Error :错误发生时,错误对象存储于变量 $Error 中 $Foreach :引用foreach循环中的枚举器 $Home :用户的主目录 $Host :引…
我们总不能把所有脚本文件零散的放着,就像创建一个项目一样,我们创建一个Module. 创建好之后如何让系统认识我们创建的Module呢,我们需要放在指定的位置. 那到底应该放在什么位置呢? 我们可以通过$PSHOME变量查看系统从哪里加载PowerShell Module. 当然,我们也可以修改变量,添加新的路径. 那我们的Module格式应该怎么样的呢?我们写一个最简单的(不规范)看看. 我们的Module名称就是Test,在Test文件夹下必须有个和ModuleName同名的模块清单文件(*…
为了脚本逻辑的重复使用,我们更多时候会封装成方法.PowerShell的function和C#.JavaScript的定义有些区别. 我们直接看例子: 可以看到,定义方法并不是这样的: function GetServiceStatus(string name) { } 而是这样的: function GetServiceStatus { param(p1,p2) } 可以看到最明显的区别就是参数的部分,它是由一个param关键字指定,所有的参数在其中指定. 每个参数可以增加约束,比如是否强制.…
PowerShell默认的顺序执行命令,即使中间某一句命令出错,也会继续向下执行. 但是,我们的业务有时并非如此,我们希望出现异常情况后进行捕获异常,进行记录日志等操作. 和其他编程语言一样,我们可以使用try catch代码块. ??? 这好像没区别啊,是的.默认的每个命令都会有一些通用参数. 有个参数是:ErrorAction,就是指定命令在出现错误后的行为,我们可以看到参数值可以使继续.忽略.停止等. 该参数默认值是Continue,也就是发生错误后继续. 我们把参数值修改为Stop,就可…
简单的命令可以通过控制台窗口输入执行,但是我的脚本逻辑复杂,需要保存.总不能在命令行工具中执行吧. 关了窗口,啥都没了.有没有一个IDE,有. 在PowerShell命令行窗口中输入:ISE,就会打开PowerShell ISE. 你可以在下面控制台中直接执行命令,这里的控制台复制粘贴是常规的Ctrl+C.V,而不像控制台窗口中非标准的,使用起来还是很友好的.但有时和交互的窗口弹出存在问题,遇到了可以移步到命令行窗口. ISE上半部分编辑器中,你依旧可以使用快捷键补全,可以调试.运行.运行选中脚…
有些情况下,有些脚本命令不能满足我们的需求,而手头却能用C#很方便的实现. 我们就可以把自定义的类型Add到PowerShell中使用,使用方法和PowerShell调用.NET类库方法是一样的. 以下是个例子: 静态方法使用类进行调用,写法为:[类型]::方法名,同理,静态属性也是如此调用. 实例方法需要先实例对象然后调用,实例化使用New-Object命令.…
全局变量 输入$global:后按ctrl+space,我们就可以看到所有的全局变量. 比如我们可以查看PowerShell的版本: 我们可以在在编写脚本代码的时候使用这些变量,globle可以省略,可以这么使用$PSVersionTable.其他变量也是如此. 环境变量 输入$env:后按ctrl+space,我们就可以看到所有的环境变量. 比如有需求找系统的host文件,通常我们可能会写:C:\windows\system32\...\host,通常是没有问题的,但是极个别情况下系统盘不是C…
PowerShell便捷之处 PowerShell中兼容运行cmd的命令,比如 ipconfig.ping命令等 PowerShell的命令更友好,可读性更强.比如停止一个服务 CMD命令:sc stop xxx PowerShell命令:Stop-Service xxx PowerShell的可以使用.NET类库资源,比如:[System.DateTime]::Now就可以输出当前时间 PowerShell返回结果也是对象,并不是一篇字符串. 有哪些命令? powershell有哪些命令可以使…
很多时候我们需要在一个脚本文件执行另外一个脚本文件,比如我们有一个Test.ps1文件 我们有以下2种方法: Invoke-Expression (&) 我们可以看到,Test.ps1中的代码确实执行了,而且两个文件中的变量即使名称相同也是互不影响,因为在各自的作用域内. 点操作符 这个我们可以看到,执行Test.ps1后,会把Test.ps1中的变量加载到当前作用域,因为变量名称相同,所以覆盖了我们定义的变量的值. 这两种方式没有好坏,根据合适的场景使用即可.…
上一篇提到了别名,这个有必要说一下,因为我们常常会遇到以下两种情况: 自己写脚本,想快速一些,使用命名 看别人的脚本,发现别人和你想的一样,用了别名,但是你忘记了这个别名是什么意思. 我们可以通过Get-Alias命令进行查看,我们以Get-Command命令为例: 我们可以看下所有别名,有助于编写命令: 别名有好多,感觉记不住? 其实,你仔细看看命令和别名的对应关系. 命令前面说了,是"动词-名词"的格式,而动词往往时Get.Set.Copy.Remove.Import.Export…
当在win10使用docker-machine创建Hyper-v虚拟机时,返回了一个错误”Error with pre-create check: "Hyper-V PowerShell Module is not available". 解决方法非常简单,原因是docker-machine程序的版本问题,替换成 v0.13.0版本即可,详细操作如下: 1. 下载0.13.0版本docker-machine命令.点击下载:32位系统或64位系统 2. 下载完毕后,改名并替换"…
这几个月一直在帮客户改需求,部署.我已经心力憔悴,经过一段时间的摸索,我对用PowerShell实现自动化部署也有了一些心得,比如说利用PowerShell导出导入AD中的User.在基于SharePoint平台开发时,利用AD来进行人员的管理,一般会建组织单元(OrganizationalUnit)来对用户进行管理.当最终部署到客户的服务器上时,怎样把本地AD中的用户数据同步到服务器上呢,要知道如果手动输入人员是一件麻烦的事.幸运的事,PowerShell可以帮我们解决这个麻烦的问题. 导出A…
PowerShell, SSAS, Role, Membership 上篇随笔使用PowerShell创建SSAS Role贴出了如何使用PowerShell批量创建Role,由于个人项目需求,创建Role的步骤和添加Membership分开了,该文贴出如何使用PowerShell批量向Role中添加Membership. 代码如下: # --------------------------------------------------------- # AUTHOR: Niko / hewu…
之前写过一篇用 Powershell 部署 Service Fabric Application 到本地集群的随笔,感觉过程有点复杂,这次将流程简化,只需要将应用程序打包,加上配置文件就可以了.   # 该脚本用于部署到本机集群,若有错误,欢迎指正. # Variables # 自行修改下面参数 ## 应用打包后的文件夹路径$PackagePath="C:\pkg\Release" ## 应用配置文件路径,对应 Service Fabric App/ApplicationParamet…
随笔分类 - 常用 [PowerShell]文件的解压与压缩 摘要:1 New-Item -ItemType File 1.txt -Force #新建文本文件 2 Compress-Archive -Path '1.txt' -DestinationPath '1.zip' -Force #压缩为zip 3 Expand-Archive -Path '1.zip' -DestinationPath '新建文件夹' -Force #解压到新文件夹内 阅读全文 时间差函数列出两个时间内的所有日期…
随笔分类 - 教程 转载自:https://www.cnblogs.com/XiaoCY/category/1065141.html PowerShell 管道符之Where-Object的使用方法 摘要:可以匹配到QQ为名的结果 阅读全文 PowerShell [Switch篇] 摘要:如果你学过其他的高级语言一定对Switch不陌生,下面讲解一下基本语法. 例1: 例2: 当然也可以配合使用正则表达式 当然你觉得麻烦还可以开启正则表达式参数 开启通配符模式 开启精确模式,当前模式下必须条件完…
前言 习惯了windows的界面模式就很难转去命令行,甚至以命令行发家的git也涌现出各种界面tool.然而命令行真的会比界面快的多,如果你是一个码农. situation:接到需求分析bug,需要访问http.那台机器属于product,不允许装postman.我只能手动命令行来发请求.发现了内置的PowerShell中有curl命令.欢喜试了半天,总是命令不对,google发现这个curl是冒名顶替的,只是一个Invoke-WebRequest的alias.参考. PS> Get-Alias…
在Windows 7 SP1 电脑上执行Cake的的例子 http://cakebuild.net/docs/tutorials/getting-started ,运行./Build.ps1 报下面的错误 PS D:\Workshop\GitHub\cakebuildexample> ./build.ps1 -Target Default Preparing to run build script... Join-Path : 无法将参数绑定到参数"Path",因为该参数是空值.…
有时候,当我们并没有合适的第三方工具(大部分需要付费)去管理多台数据库服务器,那么如何做最省力.省心呢?!Powershell一个强大的工具,可以很方便帮到我们处理日常的数据库维护工作 .简单的几步搞定,下面介绍一个简单例子便于大家理解: 1,创建一个文件夹,如 D:\ExecScriptOnMultiServer 2,创建一个文本文件ServerList.txt,将所有需要管理的数据库实例名写到里面,格式如下:     SQLInstanceName1     SQLInstanceName2…
初探 AI人工智能系列随笔:syntaxnet 初探(1)…
CoreCLR配置系列 在Windows上编译和调试CoreCLR GC探索系列 C++随笔:.NET CoreCLR之GC探索(1) C++随笔:.NET CoreCLR之GC探索(2) C++随笔:.NET CoreCLR之GC探索(3) C++随笔:.NET CoreCLR之GC探索(4) CoreCLR探索系列 C++随笔:.NET CoreCLR之corleCLR核心探索之coreconsole(1) C++随笔:.NET CoreCLR之corleCLR核心探索之coreconsol…
今天继续来 带大家讲解CoreCLR之GC,首先我们继续看这个GCSample,这篇文章是上一篇文章的继续,如果有不清楚的,还请翻到我写的上一篇随笔.下面我们继续: // Initialize free object methodtable. The GC uses a special array-like methodtable as placeholder // for collected free space. // //初始化释放器(对象方法表),<-不知道翻译得对不对. //GC使用一…
紧接着上次的问题,上次的问题其实很简单,就是HelloWorld.exe运行失败,而本文的目的,就是成功调试HelloWorld这个控制台应用程序. 通过我的寻找,其实是一个名为TryRun的文件出了问题,那但是我们还需要知道前因后果,而并不是单个的问题哦.首先你必须看这篇文章 把CoreCLR的调试环境配置好,然后才能去调试,我们按一下F11,开始我们的调试之旅. 如果你修改过CoreCLR的代码,别忘了生成项目,否则会出现如下错误,其实,改改底层真的很酷.千万别重新生成整个解决方案,会很费时…
问题 对于DBA或者其他运维人员来说授权一个账户的相同权限给另一个账户是一个很普通的任务.但是随着服务器.数据库.应用.使用人员地增加就变得很枯燥乏味又耗时费力的工作.那么有什么容易的办法来实现这个任务吗? 当然,作为非DBA在测试甚至开发环境也会遇到这种问题,要求授予所有服务器数据库的某个权限给一个人的时候.我们是不是有什么其他办法提高效率? 解决方案 如果这个时候我们网上去搜索解决方案,大多数时候搜到的都是使用T-SQL解决方案,但是这又会产生下面几个小问题: 我们需要到目标服务器上执行这些…
PowerShell基础 PowerShell数组操作 将字符串拆分成数据的操作 cls #原始字符串 $str = "abc,def,ghi,mon" #数据定义 #$StrArray = New-Object Collections.Generic.List[string] $StrArray = @() #拆分 $StrArray = $str.Split(",") $len = $StrArray.Count Write-Host "数据中元素总数…
1简介 简单来说pash就是bash+powershell 2官网 https://github.com/Pash-Project/Pash 3下载fedora20---lxde桌面---32位版. http://download.fedoraproject.org/pub/fedora/linux/releases/20/Live/i386/Fedora-Live-LXDE-i686-20-1.iso 4用vmware虚拟机安装linux,设置用户root,密码=123456,用户user00…
ASP.NET MVC 系列随笔汇总[未完待续……] 为了方便大家浏览所以整理一下,有的系列篇幅中不是很全面以后会慢慢的补全的. 学前篇之: ASP.NET MVC学前篇之扩展方法.链式编程 ASP.NET MVC学前篇之Lambda表达式.依赖倒置 ASP.NET MVC学前篇之Ninject的初步了解 ASP.NET MVC学前篇之请求流程 路由篇: ASP.NET MVC路由(一) ASP.NET MVC路由(二) ASP.NET MVC路由(三) ASP.NET MVC Module A…
一.背景 某数据库服务器为CentOS,想要监控Keepalived的VIP是否有问题,通过邮件进行报警,但这台机器不能上外网,现在只能在Windows下通过PowerShell来完成发邮件预警. 二.脚本详情 1.创建名为:ping-ip.ps1的PS脚本,代码如下所示: # ping 192.168.1.51 Test-Connection 192.168.1.51 -Count 2 If ($? -ne "True"){ Write-Host $address"连接失败…
写在前面     当管理多台Windows Server服务器时(无论是DB.AD.WEB以及其他的应用服务器),当出现性能或其他问题后,参阅性能计数器都是一个非常好的维度从而推测出问题可能出现的原因,再不济也能缩小需要考虑的问题范围,因此定期收集每一台服务器的计数器就会使得问题有据可循.并且收集到的数据也可以作为BaseLine,即使没有出现问题也可以预先判断一些问题.     之前看到网上的大多数收集性能计数器的文章都比较局限,一般是只收集单台服务器,因此我分享一个多服务器的写法.    …