Articles of PowerShell的

IE通过registry启用/禁用代理设置

在IE运行时,我需要启用/禁用IE代理设置。 我有一个PowerShell脚本行来启用代理: Set-ItemProperty -Path "Registry::HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" ProxyEnable -value 1 或者这个禁用: Set-ItemProperty -Path "Registry::HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" ProxyEnable -value 0 上面的脚本工作,registry项被更新。 但是,IE浏览器不会拿起价值,直到我closures所有打开的IE窗口,并打开一个新的。 我需要打开/运行IE窗口来获取新的设置。 有什么方法可以达到我想要的吗?

当使用get-content回显屏幕时,如何启用powershell来解释ansi颜色代码?

我有一个日志文件,其中包含各种文本的ansi颜色代码。 我使用powershell语言命令将其回显到控制台: get-content logfile.log -wait 所以我可以看到最新的日志更改。 但是,所有的ansi颜色代码都显示为文本字符,如: Esc[90mEsc[39m 你如何让他们在PowerShell窗口中的颜色代码解释? 不熟悉PowerShell语言,是否有PowerShell命令或编码选项来处理? 我已经阅读了各种powershell文档,但没有发现任何东西在他们的这些ansi代码。

如何在Windows中远程编辑文本

(注意,这个问题也发布在technet上 ) 如何在Windows中远程编辑文本文件? 我正在运行并pipe理许多Windows 7工作站和Windows Server 2012计算机。 我想能够远程编辑任何这些机器上的文本文件。 我可以通过psexec或PowerShell远程连接到任何这些机器。 我也可以通过rdp进行连接,但是对于工作站,我宁愿不把用户踢掉,除非我绝对必须。 例如,我们使用Salt来pipe理状态configuration。 本地configuration文件存储在C:\salt\conf 。 我希望能够即时编辑这些configuration文件。 这个问题涉及同一主题,但没有一个答案是特别令人满意的。 一些可能的解决scheme是: 远程桌面:正如我所说的,我宁愿不必将用户从工作站上踢出去 通过UNCpath编辑文件:这仅适用于共享上的文件,并且设置任意共享以进行快速编辑似乎是个不错的主意。 在所有目标计算机上安装一些ftp或ssh服务器。 这肯定会起作用,但是WinRM已经处于活动状态了吗? 我觉得在组织内的所有机器上安装和configuration额外的软件是最后的select。 使用命令行编辑器(例如vim,emacs)通过远程PowerShell会话进行编辑。 这不起作用。 我不明白的技术细节,但PowerShell的远程会话不是交互式的,就像SSH连接一样。 编辑使用powershell的replace运算符,out-file和add-content cmdlet。 这工作,但几乎没有一个function齐全的文本编辑器。 从远程获取内容,在本地进行编辑,并回传给远程。 这工作,可以说是我find的最好的解决scheme。 上一个问题的代码示例: PS C:\Users\Meredith> Invoke-Command -Session $ps -ScriptBlock {get-content c:/inetpub/myapp/web.config} > web.config 编辑网页configuration: PS C:\Users\Meredith> get-content web.config | Invoke-Command -Session $ps -ScriptBlock {set-content c:/inetpub/myapp/web.config} 最后两个选项是我现在使用的工作stream程。 正则expression式replace非常简单的变化,并复制到本地和编辑更复杂的。 两者都不是理想的,但他们的工作。 […]

如何使用命令提示符或Power Shell为多个文件夹中的多个文件创build符号链接?

我有两个主文件夹在不同的驱动器中有很多的子文件夹。 必须为第一个文件夹中的所有文件创build符号链接。 C:\folderC>tree /f C:. ├───folder1 │ file1.txt │ file3.txt │ └───folder2 file1.txt file3.txt D:\folderD>tree /f D:. ├───folder1 │ file2.txt │ └───folder2 file2.txt 结果使用2个命令: C:\>mklink C:\folderC\folder1\file2.txt D:\folderD\folder1\file2.txt symbolic link created for C:\folderC\folder1\file2.txt <<===>> D:\folderD\folder1\file2.txt C:\>mklink C:\folderC\folder2\file2.txt D:\folderD\folder2\file2.txt symbolic link created for C:\folderC\folder2\file2.txt <<===>> D:\folderD\folder2\file2.txt C:. ├───folder1 │ file1.txt │ file2.txt │ file3.txt │ └───folder2 file1.txt […]

Powershell获取凭据失败

PS C:\Windows\system32> $creds = Get-Credential cmdlet命令pipe道位置1上的Get-Credential为以下参数提供值:Credential PS C:\Windows\system32> $ses = New-PSSession -ComputerName WIN-O4VC136J0E2 -Credential $creds New-PSSession:[WIN-O4VC136J0E2]连接到远程服务器WIN-O4VC136J0E2失败,并显示以下错误消息:用户名或密码不正确。 有关更多信息,请参阅about_Remote_Troubleshooting帮助主题。 在行:1 char:8 + $ ses = New-PSSession – 计算机名WIN-O4VC136J0E2 -Credential $ creds + ~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo:OpenError:(System.Manageme …. RemoteRunspace :RemoteRunspace)[New-PSSession],PSRemotin gTransportException + FullyQualifiedErrorId:LogonFailure,PSSessionOpenFailed 我使用的凭据与我手动login的凭据相同。 有什么我做错了吗? 我尝试了几种不同的方式,似乎永远不能login。

Powershell Get_EventLog多个服务器

我是一名SQL DBA,现在是Powershell的n00b,负责系统pipe理任务 我需要在我的服务器上查询错误日志以查找错误和警告。 使用我自己的Google-fu和从这个线程的帮助,我能够得到这个工作: $computers = Get-Content "C:\Servers\ServerList_Short.txt"; # QUERY COMPUTER SYSTEM EVENT LOG foreach($computer in $computers) { Get-EventLog -ComputerName $computer -LogName System -EntryType "Error","Warning" -After (Get-Date).Adddays(-7) ` | Select-Object -Property machineName, EntryType, EventID, TimeGenerated, Message ` | Format-Table -Property MachineName, TimeGenerated, EntryType, Source, Message -AutoSize ; } 我现在缺less的是如何陷阱我​​的.txt文件中的服务器脱机,忽略它,并移动到下一个。 之后,我将努力将所有这些转储到SQL表,results.txt等。 谢谢你的帮助 :)] Kevin3NF

有没有办法将git整合到Windows cmd或PowerShell中?

有没有办法将git整合到Windows cmd或PowerShell中? – 这样感觉有点像linuxterminal。 怎么样?

PowerShell设置盖closures行动

我想自动设置Windows 7在我的工作笔记本电脑上closures盖子时所采取的操作,因为每次login时都会通过GPO重置。 我知道我可以在批处理脚本中使用powercfg命令来实现这一点: powercfg -setacvalueindex 5ca83367-6e45-459f-a27b-476b1d01c936 0 powercfg -setdcvalueindex 5ca83367-6e45-459f-a27b-476b1d01c936 0 但是,这是尝试学习Powerhell的一个很好的借口。 我的第一次尝试需要10秒以上运行。 在运行时和代码清洁方面,我如何改进以下内容。 什么是惯用的PowerShell的方式来处理下面? $DO_NOTHING = 0 $activePowerPlan = Get-WmiObject -Namespace "root\cimv2\power" Win32_PowerPlan | where {$_.IsActive} $rawPowerPlanID = $activePowerPlan | select -Property InstanceID $rawPowerPlanID -match '\\({.*})}' $powerPlanID = $matches[1] # The .GetRelated() method is an inefficient approach, i'm looking for a needle and this […]

每分钟在后台运行一次powershell脚本

我想要一个PowerShell脚本在后台每分钟运行一次。 没有窗口可能会出现。 我该怎么做?

即使以pipe理员身份login,也不能删除文件

请能告诉我我做错了什么。 我试图通过命令行删除隐藏的文件夹。 我以pipe理员身份运行命令行,但仍然收到消息不足的访问权限。 这里是我的命令行的截图: 这是我正在尝试的代码 rmdir "c:\xampp\htdocs\prestashop\dfs" 我收到如下错误: Cannot remove item …. You do not have sufficient access rights to perform this operation.