Articles of PowerShell的

以独立于语言环境的方式访问Windows性能计数器

我有一套混合的服务器,一些运行Windows的英文,一些运行意大利语的Windows。 有没有一种方法来读取性能计数器的值,而不使用区域设置相关的string? 我阅读了Zabbix文档 ,应该可以使用像\2\6这样的数字格式,但在Zabbix和Powershell中都不适用于我。 我想监视CPU利用率( \Processore(_Total)\% Tempo processore )。 任何build议是值得欢迎的。

同步Windows文件夹

我已经在我的eclipse中设置远程同步来复制不同位置的jsp和js文件。 我正在观察,有时是因为这个同步(我需要保持构build自动选项启用)日食挂,我需要杀死进程。在Windows中,我们有任何选项来同步两个本地文件夹。 我search,但通过第三方软件的选项。 我正在使用我的办公室笔记本电脑,所以不想使用任何第三方软件,并希望检查,如果Windows提供任何简单的select。 我想念unix和rsync 🙁 目前我正在使用一个bat文件来复制这些文件。 我认为robocopy也是一个不错的select。 xcopy / s / d / y源文件夹目标文件夹

Powershell脚本不能通过计划任务运行

我的域控制器上有一个小脚本,它通过SMTP向我发送有关最新安全事件4740的电子邮件。 脚本手动执行时,将按预期运行; 但是,当设置为通过计划任务运行时,尽pipe显示已经执行,但没有任何反应(没有电子邮件)。 脚本如下: If (-NOT ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) { $arguments = "& '" + $myinvocation.mycommand.definition + "'" Start-Process powershell -Verb runAs -ArgumentList $arguments Break } $Event = Get-EventLog -LogName Security -InstanceId 4740 -Newest 5 $MailBody= $Event.Message + "`r`n`t" + $Event.TimeGenerated $MailSubject= "Security Event 4740 – Detected" $SmtpClient = New-Object system.net.mail.smtpClient $SmtpClient.host = "smtp.domain.com" $MailMessage = […]

Powershell脚本来更改服务帐户

有没有人有一个Powershell脚本来更改Windows服务使用的凭据?

用path中的空格执行batch file

我有问题通过PowerShell在远程服务器上执行batch file。 用户可以在Servername , 启动或查杀进程, Servicename等popup窗口中select多个意见。 所选项目将保存在variables中。 如果select了所有项目,我想将string合并到一个string并执行命名为这个结果string的批处理脚本。 我尝试按照这篇文章中的描述来做,但批处理脚本不会被执行。 例: [String]$scriptpath="C:\tmp\" [String]$Servername = "xx040" [String]$actionprefix = "kill_process" [String]$action = $($actionprefix) + "-" [String]$Servicename = "service1" [String]$ServiceFullname = $($action) + $($Servicename) + ".bat" $batchPath = $("`"$scriptpath + $ServiceFullname `"") Invoke-Command -ComputerName $Servername -ScriptBlock { cmd.exe /c "`"$batchPath`"" }

Windows用户环境variables与系统环境variables

在Windows中,是否有任何shell / Powershell命令分别列出用户环境variables和系统环境variables。 如果我做 – SET TEMP Windows将显示“用户环境variables”而不是“系统variables”。 我正在寻找shell命令/开关来分别显示这些variables。

在PowerShell中反斜杠

为什么-split参数的string需要两个反斜杠,而-join参数的string只需要一个反斜杠? 反向是Powershell中的转义字符。 一个angular色前面的反斜杠为你做了什么? $path = 'C:\folder\test\unit1\testing\results\report.txt' $path -split '\\' -notlike '*test*' -join '\' http://powershell.com/cs/blogs/tips/archive/2014/06/17/fun-with-path-names.aspx

如何获得Windows版本?

我需要在PowerShell中创build一个validation操作系统版本(Pro,Enterprise,Home等)的脚本。 我已经find许多关于如何使用操作系统版本(Vista,7,8,8.1等等)的ID号码进行validation的信息,但是我找不到有关版本代码的任何信息。 我的问题是: 是否有Windows版本的代码? 如果没有代码,唯一的方法就是Get-WmiObject -Class Win32_OperatingSystem | % Caption Get-WmiObject -Class Win32_OperatingSystem | % Caption ,如何格式化这个在任何Windows操作系统上select版本? 还有其他方法可以做到吗? https://msdn.microsoft.com/en-us/library/windows/desktop/ms724833(v=vs.85).aspx

如何使用Powershell命令确定平均CPU百分比并将CPU百分比输出为不带标签的数字百分比

我正在努力获得一个PowerShell命令,它允许我拉远程服务器的所有内核的平均CPU百分比,并输出值只是数字百分比。 我很近,但一直没能find方法来获取数值。 以下是我正在使用的命令,后面跟着输出。 Get-WmiObject -computer server -class win32_processor | Measure-Object -property LoadPercentage -Average | FL average Average : 30.5 预先感谢任何帮助!

双跳访问复制文件没有CredSSP

你好, 我们拥有数百个虚拟机的大环境。 在我们的服务部署过程中,我们需要将一些文件从build drop复制到所有这些机器上。 所以,我们有: 用户机器,执行部署脚本 build立放置机器,文件在哪里 目标机器 Powershell被用作脚本语言。 就像是: $buildDrop = "\\sourceMachine\Build" $machineTarget = "targetMachine" Invoke-Command -ComputerName $machineTarget -ArgumentList $buildDrop -ScriptBlock { Param( $buildDrop ) Test-Path $buildDrop # Will return False } 这种方法导致双跳问题 ,由于CredSSPfunction,XP和2k3机器不支持这个问题 ,所以我无法解决这个问题 。 并且在用户机器上调用的复制导致性能瓶颈(数据通过用户机器)。 有没有办法让所有目标机器始终可见的build立下降? 可能会以某种方式将它们添加到受信任的位置或类似的东西? 提前致谢!