Articles of PowerShell的

Ansible无法通过SSH连接到Windows节点

我试图通过Ansibleconfiguration一个运行OpenSSH的Windows节点( https://github.com/PowerShell/Win32-OpenSSH )。 虽然正常的SSH连接工作,Ansible似乎无法连接到节点。 正常的SSH连接: sysadmin@MY_LINUX_SERVER:~/ansible$ ssh administrator@MY_WINDOWS_HOST -vvvv OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014 debug1: Reading configuration data /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config line 19: Applying options for * debug2: ssh_connect: needpriv 0 debug1: Connecting to MY_WINDOWS_HOST [ABCD] port 22. debug1: Connection established. debug1: identity file /home/sysadmin/.ssh/id_rsa type -1 debug1: identity file /home/sysadmin/.ssh/id_rsa-cert type -1 debug1: […]

在循环之前sorting目录 – PowerShell

我需要按照从最早的创builddate到最新的顺序处理文件 这是正确的还是有更好的方法来做到这一点? 谢谢 Get-ChildItem -Path C:\Users\Tom\ -Filter "*.journal" | Sort-Object -Property CreationTime ForEach ($sourcefile In $(Get-ChildItem $source | Where-Object { $_.Name -match "Daily_Reviews\[\d{1,12}-\d{1,12}\].journal" })) { #### Process files in order from oldest to newest $file = $source+$sourcefile }

允许通过共享文件夹上的应用程序查看CHM文件

我们的用户希望通过点击帮助图标(应用程序菜单中的问号)来查看CHM帮助文档。 应用程序是MiniTab。 MiniTab应用程序通常是每个工作站安装的,但我们希望通过networking共享来运行应用程序。 当我们尝试通过应用程序查看帮助时,我得到一个标准的Windows帮助对话框,但内容是空白的。 使用KB 892675实现所有过多的registry信息https://support.microsoft.com/zh-cn/kb/892675如果我设置了registry,我成功地双击查看UNC文件共享上的CHM文件键ItssRestrictions和值MaxAllowedZone为2。 良好的PowerShell代码来查看共享文件夹上的CHM文件: $registryPath = "HKLM:\SOFTWARE\Microsoft\HTMLHelp\1.x" $name = "ItssRestrictions" # New Reg Key New-Item -Path $registryPath -Name $name $registryPath = "HKLM:\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions" $name = "MaxAllowedZone" $value = 2 Set-ItemProperty -LiteralPath $registryPath -Name $name -Value $value -Force # Verify your changes Get-ChildItem "HKLM:\SOFTWARE\Microsoft\HTMLHelp\1.x" 此外,下面的MS KB,我试图允许嵌套协议和白名单CHM UNC,'file://'前缀和映射的驱动器格式。 没有任何工作 在尝试通过应用程序查看帮助文件后,事件查看器有一条消息:“来自源ITSS的事件ID 1的描述找不到。引发此事件的组件未在您的本地计算机上安装或安装已损坏您可以在本地计算机上安装或修复组件。 如果事件发生在另一台计算机上,显示信息必须与事件一起保存。 活动中包含以下信息: \ UNCPathToTheCHMFolder […]

在64位Windows上运行cURL

我是cURL的新手,只是安装了它,但似乎只做它的感觉。 我使用的是我从这里得到的64位版本: http : //curl.haxx.se/latest.cgi?curl=win64-ssl-sspi安装说明,我在这里find: http : //guides.instructure.com / m / 4214 / l / 83393-how-do-i-install-and-use-curl-on-a-windows-machine 。 打开一个新的Powershell窗口我可以使用一个简单的GET请求,如下所示: curl http://localhost:3000 但如果我运行一个POST curl -d "hello world" http://localhost:3000 它告诉我“Invoke-WebRequest:Parameter无法处理,因为参数名称'd'不明确,可能的匹配包括:-DisableKeepAlive -Debug。 试图获得帮助,我键入 curl -h or curl –help 给我“Invoke-WebRequest:缺less参数”Headers“的参数。指定一个types为”System.Collections.IDictionary“的参数,然后重试。 正如我所说,我是一个curl新手,但似乎很奇怪,它可以做请求,但没有别的。 任何想法我做错了什么? Windows 7 64位Powershell版本4

Powershell使用ScheduledJob在启动时使用pipe理权限运行作业

为了减轻我的一些工作,我创build了一个PowerShell脚本,它需要: 在启动时运行。 使用pipe理员权限运行,因为它必须写在c:\ program files文件夹中。 我使用PowerShell创build启动服务,如下所示: function MakeStartupService { Write-Host "Adding script as a startup service" $trigger = New-JobTrigger -AtStartup -RandomDelay 00:00:15 Try { Register-ScheduledJob -Trigger $trigger -FilePath "absolute_path" -Name "Job-name" -EA Stop } Catch [system.exception] { Write-Host "Looks like an existing startup service exists for the same. Overwriting existing job" Unregister-ScheduledJob "Job-name" Register-ScheduledJob -Trigger […]

使用PowerShell每x秒运行一个batch file

我想使用一个Windows PowerShell脚本运行一个batch file每隔x秒钟。 所以这是同一batch file一遍又一遍的运行。 我做了一些看,但找不到我在找什么。 这是我想要在Windows XP机器上运行的东西。 我曾经使用Windows调度器很多次类似的,但由于某种原因Windows调度程序只运行一次…然后没有更多。 我也不想让batch file自己调用,因为在运行这么多次之后会出错。

确定窗口是否正在播放声音

所以我一直在思考这个问题一段时间,我不知道什么是正确的方式去做这件事。 我想确定Windows是否在某个时间使用Powershell脚本输出声音。 我可以确定audio驱动程序是否有错误,但我不能确定系统是否在播放声音。 我看了一下System.Media的.NET类,里面的三个类都和播放声音或操作系统声音有关。 我不是要求为我写的代码,我只需要知道从哪里开始检查Windows系统是否正在播放声音。 我有一个声音监视器,它不断监视Node.js平台上的声音,当它失去声音时,它会发送给我一个文本。 那么,我也希望它能够通过它所连接的所有系统,看看故障在哪里。 这就是为什么我想看看Windows电脑是否在播放声音。

如何从PowerShell 1.0调用DLL方法

我正在使用PowerShell V1.0脚本从DLL文件中调用方法,并使用以下代码将DLL文件加载到PowerShell中。 [System.Reflection.Assembly]::LoadFile("path of dll") is loaded successfully GAC Version Location — ——- ——– False v2.0.50727 location of dll 该类包含一个公共的默认构造函数。 我试着用下面的代码创build一个类的对象: $obj = new-object namespce.classname 它会抛出以下错误: New-Object:使用“0”参数调用“.ctor”的exception:“namespce.classname的types初始值设定项引发exception。 在线:1 char:18 + $ obj = new-object <<<< namespce.classname + CategoryInfo:InvalidOperation:(:) [New-Object],MethodInvocationException + FullyQualifiedErrorId:ConstructorInvokedThrowException,Microsoft.PowerShell.Commands.NewObjectCommand` 当我试图在不创build对象的情况下调用类的方法时,即使类包含方法,也会抛出下面的错误: PS C:\Windows\system32> [namespace.classname]::method() Method invocation failed because [namespace.classname] doesn't contain a method named […]

Powershell,如何获取最新的Windows更新date安装或至less检查更新?

我试图find一种方法来检索最后的Windows更新被安装,或检查的date/时间。 到目前为止,我已经find了一个允许列出最近的Windows更新的函数,但是对于这样一个简单的函数来说,数据太多了,而且太臃肿了。 其次,我试图访问registry,虽然我没有运气在回顾我所追求的价值。 我正在Windows 10计算机上进行testing,但该软件可能驻留在Windows Server 2012 R2上。 这里是我尝试过的一些代码的例子: $key = “SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\Results\Install” $keytype = [Microsoft.Win32.RegistryHive]::LocalMachine $RemoteBase = [Microsoft.Win32.RegistryKey]::OpenBaseKey($keytype,"My Machine") $regKey = $RemoteBase.OpenSubKey($key) $KeyValue = $regkey.GetValue(”LastSuccessTime”) $System = (Get-Date -Format "yyyy-MM-dd hh:mm:ss") 另外,只要尝试Get-ChildItem $hello = Get-ChildItem -Path “hkcu:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\” foreach ($a in $hello) { $a } 我检查了registry,这个键不存在。 去“Windows更新”path只显示应用程序更新,而不是Windows更新。 编辑我似乎更接近我的目标:Get-HotFix | 其中{$ _。InstallDate -gt 30} 但是,我怎样才能回收在过去30天安装的那些? 这并不显示很多结果,即使使用Select […]

VMWare VMDK映射到Windows驱动器号

这个代码几乎可以工作,它将VWare VMDK映射到Windows驱动器。 代码不是我的。 在其他信息将返回“ DD-SERV-01_15.vmdk VM MAIN是驱动器号G: ” 脚本将提示input凭据,然后进行映射,但出现错误,只有最后一个虚拟机/驱动器被保存为输出 – 我希望有人可以看一下,更新/修复代码,以便它保存所有的输出吗? 谢谢。 #Get VMware Disk Usage # Created by Hugo Peeters # http://www.peetersonline.nl # VARIABLES $Decimals = 1 $VCServer = "SERVERNAME" # SCRIPT # Connect to VC Write-Progress "Gathering Information" "Connecting to Virtual Center" -Id 0 $VC = Connect-VIServer $VCServer # Create Output Collection $myCol […]