Articles of PowerShell的

从命令行(CMD)编辑Windows组策略

我想添加一些组策略,我需要通过batch file添加如何编辑窗口组策略从Windows命令行?

Powershell:捕获程序stdout和stderr来分离variables

在一次运行中,是否可以将外部程序的stdoutredirect到外部程序的variables和stderr? 例如: $global:ERRORS = @(); $global:PROGERR = @(); function test(){ # Can we redirect errors to $PROGERR here, leaving stdout for $OUTPUT? $OUTPUT = (& myprogram.exe 'argv[0]', 'argv[1]'); if ( $OUTPUT | select-string -Pattern "foo" ) { # do stuff } else { $global:ERRORS += "test(): oh noes! 'foo' missing!"; } } test; if ( […]

使用Powershell或命令行在Windows中创build压缩/压缩文件夹

我正在创build一个夜间数据库模式文件,并希望将每个晚上创build的所有文件(每个数据库一个文件)放入一个文件夹并压缩该文件夹。 我有一个PowerShell脚本来创build模式。只有数据库的创build脚本,然后将所有文件添加到一个新的文件夹。 问题在于这个过程的压缩部分。 有没有人有任何想法,如果这可以完成与预处理文件夹压缩的Windows实用工具? 如果可能,最好使用该工具,而不是像7zip(我不想在每个客户的服务器上安装7zip,如果我问他们可能需要花费IT时间)。

从Windows cmd中检索文件属性

因为node.js没有提供在窗口上检索和修改文件属性的方法,所以我需要执行一个subprocess。 我想获得所有的文件属性,即: 尺寸 档案 隐 只读 系统 创build/修改/访问时间 文件?/目录?/符号链接? (结) 如果我要执行一个subprocess,我不想调用fs.stat,因为它是一个额外的I / O访问(并且Stats不提供太多的窗口信息)。 如果我执行一个subprocess,我想一次检索所有的数据。 所以,我写了一个PowerShell脚本: var cmd = "powershell -Command \"$item=get-item a -force;[bool]($item.attributes -band [io.fileattributes]::directory);[bool]($item.attributes -band [io.fileattributes]::archive);[bool]($item.attributes -band [io.fileattributes]::reparsepoint);[bool]($item.attributes -band [io.fileattributes]::hidden);[bool]($item.attributes -band [io.fileattributes]::readonly);[bool]($item.attributes -band [io.fileattributes]::system);$item.length;$tmp=$item.creationtime;$tmp.year;$tmp.month;$tmp.day;$tmp.hour;$tmp.minute;$tmp.second;$tmp.millisecond;$tmp=$item.lastaccesstime;$tmp.year;$tmp.month;$tmp.day;$tmp.hour;$tmp.minute;$tmp.second;$tmp.millisecond;$tmp=$item.lastwritetime;$tmp.year;$tmp.month;$tmp.day;$tmp.hour;$tmp.minute;$tmp.second;$tmp.millisecond;$s\""; 这将返回:(一次在javascript: split("\r\n") ) [ 'False', //directory? 'True', //archive? 'False', //symlink? 'False', //hidden 'False', //readonly? 'False', //system? '3', //length (if directory, […]

PowerShell中的echo和Write-Host有什么区别?

我对PowerShell中的echo和Write-Host之间的区别感到困惑。 我有两个文件, POC.ps1和validatePath.ps1 。 这些文件在我的本地机器上,我正在使用Invoke-Command在远程机器上运行它们。 我正在使用PowerShell v3.0。 要执行这两个脚本,我使用下面的命令: .\POC.ps1 -filename C:\Users -user Blaine 这是两个文件: POC.ps1: param($filename, $user) echo $filename echo "This" echo $user $responseObject = Invoke-Command testcomputer -FilePath .\validatePath.ps1 -ArgumentList($filename, $user) -AsJob while($responseObject.State -ne "Completed") { } $result = Receive-Job -Id $responseObject.Id -Keep echo $result 这里是奇怪的地方… validatePath.ps1: Param([string] $filename, [string] $user) function ValidatePath( $filename, $user, […]

从计算机名称列表中获取login用户

我想提取login到远程PC的用户列表,ps名称将使用.csv文件提供。 我能够得到一个命令 Get-WmiObject Win32_LoggedOnUser -ComputerName $Computer | Select Antecedent -Unique 要查询用户名,任何人可以帮助我更多的如何写这个代码?

如何从cmd.exe为PowerShell脚本指定input和输出path?

我是一个使用PowerShell的新手,并且在命令行中使用了newb。 我有一个PowerShell脚本,我希望别人通过cmd.exe运行。 它看起来像这样: Get-Content $i | (Do stuff with strings) | Out-file $o “i”和“o”是用于input和输出的stringvariables,我想由用户select。 我做了一个batch file,它的所有工作都按预期运行,从cmd运行。 我的问题是,我希望用户能够从命令行指定他们的input和输出path,而无需打开PowerShell。 我怎样才能做到这一点?

使用Windows窗体在PowerShell中由PictureBox隐藏的标签

我有PictureBox问题。 当我将PictureBox对接到右上方时,它隐藏了位于表单中心的标签的一部分。 我怎样才能把PictureBox标签? 我认为这是两个( Image和Label声明)对接声明的问题,这就是为什么它被PictureBox隐藏。 我怎样才能正确地做到这一点? 表单声明: $Form = New-Object System.Windows.Forms.Form $Form.Text = "Something" $Form.StartPosition = "CenterScreen" $Form.Topmost = $True $Form.BackColor = "White" $Form.Width = [System.Windows.Forms.SystemInformation]::PrimaryMonitorSize.Width $Form.Height = [System.Windows.Forms.SystemInformation]::PrimaryMonitorSize.Height – 50 #$Form.AutoSize = $True $Form.AutoSizeMode = "GrowAndShrink" $Form.ControlBox = $false $Form.MinimumSize = New-Object System.Drawing.Size(1280,1024) $Form.MaximumSize = New-Object System.Drawing.Size(1920,1080) 图像声明: $Image = [system.drawing.image]::FromFile("C:\xxx.png") $pictureBox = new-object […]

编译器在Wine下输出错误,但不在Windows上输出

我有.mqh源代码文件,带有语法错误,例如由以下命令创build: echo some_error > fail.mqh 现在,我正在使用Metaeditor编译器来检查语法,我的目标是将错误打印到标准输出( CON ),而不是将它们logging到文件( /log:file.log )中。 请参阅: 编译 。 下面的语法在Linux / macOS上可以正常工作(也在wine cmd.exe ): $ wine metaeditor.exe /s /log:CON /compile:fail.mqh ??fail.mqh : information: Checking 'fail.mqh' fail.mqh(1,1) : error 116: 'some_error' – declaration without type fail.mqh(1,1) : error 161: 'some_error' – unexpected end of program : information: Result 2 error(s), 0 warning(s) […]

无法在PowerShell上导入MSOnline(Connect-MsolService错误)

我有这个问题,无法find任何答案。 问题是我试图使用Azure cdmlets通过c#代码连接到O365,但是我无法获得connect-msolservice 。 “尝试在Office 365中运行pipe理Windows PowerShell cmdlet”时出现“无法识别该术语”错误“