Articles of PowerShell的

通过PowerShell加载types库并编写Windows Live Writer脚本

一般来说,我对COM和Windows编程/脚本非常陌生。 我正在做的是脚本Windows Live Writer; 根据文件之前,我可以打电话 $o = New-Object -c WindowsLiveWriter.Application 我需要首先加载TLB,所以我应该调用add-type命令,不幸的是它失败了: PS C:\Users\NoWhereMan> add-type windowslivewriter.application Add-Type : c:\Users\NoWhereMan\AppData\Local\Temp\a7ifbimo.0.cs(1) : A namespace does not directly contain members such as fields or methods c:\Users\NoWhereMan\AppData\Local\Temp\a7ifbimo.0.cs(1) : >>> windowslivewriter.application At line:1 char:9 + add-type <<<< windowslivewriter.application + CategoryInfo : InvalidData: (c:\Users\NoWher…elds or methods:CompilerError) [Add-Type], Exception + FullyQualifiedErrorId : SOURCE_CODE_ERROR,Microsoft.PowerShell.Commands.AddTypeCommand […]

使用PowerShell获取图像的调色板

我正在尝试获取图像的Color Palette 。 我尝试了各种方法,现在我在PowerShell使用下面的代码,但是我无法得到正确的结果: $filename = "C:\Users\schoo\Desktop\bb.jpg" $BitMap = [System.Drawing.Bitmap]::FromFile((Get-Item $filename).fullname) Foreach($y in (1..($BitMap.Height-1))){ Foreach($x in (1..($BitMap.Width-1))){ $Pixel = $BitMap.GetPixel($X,$Y) $BackGround = $Pixel.Name } $R = $Pixel | select -ExpandProperty R $G = $Pixel | select -ExpandProperty G $B = $Pixel | select -ExpandProperty B $A = $Pixel | select -ExpandProperty A $allClr = "$R" […]

Powershell:捕获标准和过程对象的错误

我想从powershell启动一个Java程序,并获得打印在控制台上的结果。 我遵循这个问题的说明: 捕获标准输出和错误与启动过程 但对我来说,这不像我所期望的那样。 我做错了什么? 这是脚本: $psi = New-object System.Diagnostics.ProcessStartInfo $psi.CreateNoWindow = $true $psi.UseShellExecute = $false $psi.RedirectStandardOutput = $true $psi.RedirectStandardError = $true $psi.FileName = 'java.exe' $psi.Arguments = @("-jar","tools\compiler.jar","–compilation_level", "ADVANCED_OPTIMIZATIONS", "–js", $BuildFile, "–js_output_file", $BuildMinFile) $process = New-Object System.Diagnostics.Process $process.StartInfo = $psi $process.Start() | Out-Null $process.WaitForExit() $output = $process.StandardOutput.ReadToEnd() $output $ outputvariables总是空的(当然没有任何东西被打印在控制台上)。

Powershell:空文件总是生成(Compare-Object的输出)

这个问题最stream行的答案涉及以下Windows PowerShell代码(编辑修复一个错误): $file1 = Get-Content C:\temp\file1.txt $file2 = Get-Content C:\temp\file2.txt $Diff = Compare-Object $File1 $File2 $LeftSide = ($Diff | Where-Object {$_.SideIndicator -eq '<='}).InputObject $LeftSide | Set-Content C:\temp\file3.txt 我总是得到一个零字节文件作为输出,即使我删除$ Diff线。 为什么输出文件始终为空,如何解决?

如何pipe理批处理脚本输出到PowerShell脚本?

我需要使用HTTP Apachepipe道日志logging将响应代码“400”的所有条目放到单独的文件中。 为此,我想使用PowerShell Select-String因为它是Linux中最接近grep命令: 我有以下批处理从cmd环境中调用PowerShell脚本: powershell -command "& { sls ,400, 'cmd -ca | select -exp line >> access_400.log }" 据我所知,httpd中的“CustomLog”类似于这个: CustomLog "| 'call_powershell_script_that_will_extract_400_entries.ps1' " common 如何将CustomLog的pipe道输出input到将使用“400”响应代码提取条目的PowerShell脚本?

如果在使用正则expression式的开始词之前出现closures词,则在两个词之间find不匹配的词

所以,在通过日志时,我遇到了一个正则expression式困境。 我目前的正则expression式是这样设置的: (?si)\bStart\b(.*?)\bError\b(.*?)\bEnd\b 当我遇到像这样的场景时,这很好用: stuff happens Start stuff happens Error stuff happens End 但是也是这样的,如果错误在开始和结束序列之外, Start End Error Start End 有没有办法让正则expression式只抓取#1是像#2场景的存在? 有时在日志中生成的错误不会发生在Start和End关键字内。 基本上,我需要隔离没有唯一错误代码或名称的特定types的错误,只是在发生错误时将“错误”一词引发到日志中。 就使用的语言而言,并不重要。 AutoIt或Powershell的例子会很酷,但这更像是一个正则expression式的语法问题。 但是,这是在Windows环境中使用(特别是8.1)

我如何使用Powershell作为我的tramp-encoding-shell?

首先我启动了eshell然后我input命令cd /plink:<user>@<host>:/home/ 那么我得到这个错误消息 Microsoft Windows [版本6.1.7601]版权所有(c)2009 Microsoft Corporation。 版权所有。 命令提示符已被pipe理员禁用。 按任意键继续 。 。 。 我试图连接plink(这是我的path),也通过*消息*缓冲区后,我发现这一点。 找不到本地shell提示符(C:\ Windows \ system32 \ cmd.exe) 我90%确定这是因为cmd已经在我的机器上被禁用了,因为当我在另一台计算机上尝试相同的设置时,我知道cmd已经启用,一切正常。 我已经修改我的.emacs文件 (require 'tramp) (set 'tramp-encoding-shell "C:/Windows/System32/WindowsPowershell/v1.0/powershell.exe") (set 'tramp-encoding-command-switch "-Command") 我得到了不同的结果,但结果似乎是乱七八糟的废话(第三行看起来可能是一个提示, \和>字符在正确的地方…)。 我设法findtramp-encoding-shell的相当好的描述 ,还有一个相关的SO问题 ,这里是github上的tramp-encoding-shell 源文件 。 更新 这里是我的屏幕看起来像试图不成功打开一个PowerShell设置为tramp-encoding-shell的plink连接。

如何摆脱Batch / Powershell中的安全警告

我试图通过batch file执行PowerShell脚本,并不断得到以下警告; – >执行策略设置为远程签名; 我也testing与无限制,同样的错误显示; 如何摆脱这个?

用Lua执行powershell命令

晚上好, 我有一个与我一起工作的程序,它有一个板载的lua编译器,允许自定义的写操作。 由于工具本身是非常有限的,特别是如果它通过networking复杂的反应,我想要使用Powershell卢阿。 可悲的是没有什么可以find(至less我没有),像os.execute()或io.popen()使用标准的命令行从Windows。 有人知道图书馆或其他方式与lua使用Powershell。 我已经试过了:我尝试用Powershell编辑器编写命令行脚本,并使用os.execute运行此脚本,但是它将其作为文本文件打开,最好直接在lua中编写命令,但如果没有另外,直接执行PowerShell脚本也可以。 (在Windows中,您可以使用鼠标右键执行脚本“单击/执行Powershell”

用户和本地组使用Powershell报告?

有没有一种简单的方法使用PowerShell来显示所有在计算机上活动的本地Windows组以及属于这些组的用户? 这个问题的第二部分是如果可以扩展到一次查看多台机器的话。