Articles of PowerShell的

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

无法在Microsoft Powershell中使用`mvn -D`参数运行Maven,但在命令提示符下工作

我试图从命令行构build我们的Web项目,但是跳过了testing。 我正在使用命令mvn clean install -Dmaven.test.skip=true 。 当我从传统的黑白命令提示符(又名DOS shell)运行命令的命令工作,但是当我从“Windows PowerShell”的命令运行它,我得到以下错误: [ERROR] Unknown lifecycle phase ".test.skip=true". You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin- artifact-id>[:<plugin-version>]:<goal>. Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepar e-package, package, pre-integration-test, integration-test, […]

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非常简单的变化,并复制到本地和编辑更复杂的。 两者都不是理想的,但他们的工作。 […]

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

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

无法将脚本名称识别为cmdlet,函数等; 也不能在简单的脚本上find位置参数

我正在尝试做我的第一个剧本。 为了简单地让PowerShell在记事本中input一个脚本,并保存为名为“test”的.ps1文件(也尝试了Script,但是知道名字与它无关): Write-Host "Hello, World!" 在PowerShell中,我打字 & "C:\Scripts\test.ps1" 以及 ./test.ps1 我只是遇见了这个: ./test.ps1.txt:术语'./test.ps1.txt'不被识别为a的名称 cmdlet,函数,脚本文件或可操作的程序。 检查拼写 名称,或者如果包含path,请validationpath是否正确,然后重试。 在行:1 char:1 + ./test.ps1.txt + ~~~~~~~~ + CategoryInfo:ObjectNotFound:(./test.ps1.txt:String)[],CommandNotFoundException 曾尝试用PowerShell重命名文件 PS C:\Scripts> Rename-Item test.ps1.txt test.ps1 我已经在RemoteSigned和Unrestricted之间切换,我已经尝试了一个代码,包括executionpolicy bypass (我做道歉,我closures了我的窗口,而不写下一个)。 据我所知,一切都是最新的,我正在运行Windows 10,Windows PowerShell和常规的Windows记事本。

没有CR-LF的Powershellpipe柱

我在PowerShell中总是noob,我想传递一个包含空字符的string到一个命令(openssl在当前的工作目录中): powershell -command "& { \"`0myemail@gmail.com`0mypassword\" | %cd%\openssl enc -base64 }" 事情是我得到我的string编码,就好像它是通过一个回车符和一个新的行字符在它的末尾。 我错过了什么?

当使用POWERSHELL将数据添加到表中时,“该行已经属于该表”

下午好堆栈溢出。 我正在尝试使用Powershell自动化一些基于纸张的stream程。 我们已经有了一个Powershell解决scheme,其中的输出是一个Excel电子表格,但为了规划未来,我们觉得CSV输出比Excel更容易使用。 我们正在做的是非常基本的,我们正在接触到在AD的组的所有者,在一个文本文件中指定。 对于列出的每个组,我们循环并将项目添加到表中。 问题出在这里,我对Powershell还是很陌生,并且在循环遍历“for each”语句时遇到了问题。 我遇到以下错误: Exception calling "Add" with "1" argument(s): "This row already belongs to this table." At line:77 char:17 + $table2.Rows.Add <<<< ($row2) + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : DotNetMethodException 我觉得分享我正在使用的代码是合适的: import-module activedirectory $strGroupList = get-content "C:\Users\MYUSERNAME\Documents\Group Audit\audit.txt" $strDate = Get-Date foreach ($strGroup in $strGroupList) { […]