我正在为Get-Winevent构build一个包装脚本,以使用多个search条件并行地search多台计算机的事件日志。 我正在为Get-Winevent构造一个XMLfilter,然后调用这个相当简单的工作stream程: WorkFlow Get-ParallelEvent { Param( [string[]]$Computers, [string]$FilterXml ) #Query computers ForEach -Parallel ($Computer in $Computers) { If (Test-Connection $Computer -Count 1 -ErrorAction SilentlyContinue) { Get-WinEvent -ComputerName $Computer -FilterXml $FilterXml -ErrorAction SilentlyContinue } } } 但是,当我运行脚本,我得到的错误: 找不到名为“ComputerName”的参数。 此命令中的远程连接由“PSComputerName”参数处理。 但是,我不想依赖PSRemoting(我们所有的服务器上都没有启用),Get-Winevent绝对不支持查询远程系统而不使用PSRemoting。 经过大量的试验和错误,我添加了一个虚拟ForEach循环只用一个迭代,使用不影响执行的variables。 这符合预期 – PSRemoting不是必需的(我可以使用-ComputerName而不是-PSComputerName): WorkFlow Get-ParallelEvent { Param( [string[]]$Computers, [string]$FilterXml ) #Query computers @('dummy') | ForEach […]
我有一个工作脚本,7位的SQL BK文件到networking位置(这里的好人帮助:))。 由于7zip没有恢复logging,我想使用par2。 现在,我已经把一个脚本(我并不感到惊讶,因为我真的不知道PowerShell)不起作用。 脚本: $path = "\\server\BACKUP\temp" $dest = $path $mask = "*.zip" $files = dir $path -Include $mask foreach ($file in $files) { C:\PAR\par2.exe c -r10 -n1 -m1024 "$dest\($file.basename).par2" $file } 我觉得我不远处,但解决scheme逃脱我:( ty提前。
我试图让两个工作组机器(两个都是Windows 2012 R2)通过WinRM使用PowerShell相互交谈。 我们称之为ServerA和ServerB。 在这两台机器上,我运行了以下命令: Enable-PSRemoting -Force Set-Item WsMan:\localhost\client\trustedhosts Server[A|B] Restart-Service WinRM 从ServerB我可以使用Enter-PSSession ServerA命令远程连接到ServerA。 但是,我不能在另一个方向连接。 ServerA无法连接到ServerB。 我收到以下错误信息: enter-pssession:连接到远程服务器ServerB失败,并显示以下错误消息:客户端无法连接到请求中指定的目标。 validation目标上的服务正在运行并正在接受请求。 请查阅在目标上运行的WS-Management服务的日志和文档,最常见的是IIS或WinRM。 如果目标是WinRM服务,请在目标上运行以下命令来分析和configurationWinRM服务:“winrm quickconfig”。 有关更多信息,请参阅about_Remote_Troubleshooting帮助主题。 在行:1个字符:1 +进入pssession ServerB + ~~~~~~~~~~~~~~~~~~~~~~~~~~(ServerB:String)[Enter -PSSes sion],PSRemotingTransportException + FullyQualifiedErrorId:CreateRemoteRunspaceFailed 我也尝试将远程会话连接到服务器本身。 从ServerB Enter-PSSession ServerB IE。 我得到了与上面相同的错误。 我试图完全禁用两个防火墙,这也没有帮助。 我也试过做一个Test-NetConnection ServerB -port 5985 ,这给了我一个警告说: 警告:TCP连接到ServerB:5985失败 ComputerName:ServerB RemoteAddress:ip RemotePort:5985 InterfaceAlias:以太网 SourceAddress:ip PingSucceeded:是的 PingReplyDetails(RTT):0 ms TcpTestSucceeded:False 通过使用Test-NetConnection命令,我可以在PowerShell事件日志中看到一个条目: […]
过去几周我一直在为此而苦恼,希望有人能find有效的答案。 在我的工作中,我们使用VMWare,并且使用Powershell构build了Windows Server 2012R2的自动化部署,这非常棒。 我的大部分脚本都在虚拟机上执行,其中一个function是configurationWindows更新。 我find了用于设置更新的registry项,Powershell将它们添加到registry中。 主要的问题是,这些设置是不是由服务器应用。 其中一个设置是TIME和DAY。 经过几天的全面研究,我发现有一个叫做维护configuration器的调度任务。 我find了一种方法来禁用,但没有帮助(使用psexec)。 我的更新每天凌晨2点还在执行。 比我看到这个设置的时间表任务。 我改变了那个时间到我想要的时间窗口,当时它被执行了,但是然后它变回了2AM。 我在行动中心看到,虽然我已经改变了日程安排任务,但仍然是凌晨2点 我怎样才能通过Powershell改变这一切? 我不喜欢在凌晨2点安装更新的事实,我也不喜欢我无法改变任何地方。 希望有人知道如何解决 最好的问候,戴夫
scheme:安装了Palo Alto Globalprotect vpn客户端的Windows Box。 是否可以使用命令行或PowerShell来连接VPN客户端到远程主机? 我知道这是可能的与其他VPN客户端,但无法find任何文件的帕洛阿尔托之一。 任何帮助表示赞赏..
我有一个现有的Azure虚拟networking网关,我试图重新configuration用于BGP,按照https://azure.microsoft.com/en-us/documentation/articles/vpn-gateway-bgp-resource-manager-ps/ 。 但是,我无法find如何更改默认的ASN。 目前$gateway.BgpSettingsText显示: { "Asn": 65515, "BgpPeeringAddress": "10.231.1.254", "PeerWeight": 0 } 我没有看到最新的AzureRm Powershell中的任何内容,这将允许我改变这一点。 有没有办法改变这个? 或者是Remove-AzureRmVirtualNetworkGateway的唯一解决scheme,并重新开始?
在Server 2008 R2机器上,我想使用Powershell来查询特定规则的“远程地址”列表。 有关的规则是通过适用于机器的组策略创build的。 我知道有netsh advfirewall firewall show rule name=<name>以及由(New-object –comObject HNetCfg.FwPolicy2).rules返回的列表,但两者似乎只包括已经在本地定义的规则,不列出由防火墙GPO扩展创build的任何规则。 如何方便地获取策略创build规则的属性?
我正在尝试执行以下Powershell命令: Enter-PSSession -ComputerName localhost 正在使用的服务器正在运行Windows Server 2008 R2 SP1 64位。 服务器在域上。 我以我的域pipe理员帐户login。 PowerShell会话以pipe理员身份启动。 我从PowerShell本身收到以下错误消息: PS C:\Users\Daniel> Enter-PSSession -Computername localhost Enter-PSSession : Connecting to remote server localhost failed with the following error message : The client cannot connect to the destination specified in the request. Verify that the service on the destination is running and is […]
在尝试运行我的Powershell Profile子模块时,在创build自签名证书并将其安装到系统上后,我还是收到了不受信任的发布者? Do you want to run software from this untrusted publisher? File \\someserver.somedomain.org\Redirected\xxxxxx\My Documents\WindowsPowerShell\dasIncludedModule.psm1 is published by CN=PowerShell User and is not trusted on your system. Only run scripts from trusted publishers. [V] Never run [D] Do not run [R] Run once [A] Always run [?] Help (default is "D"): R
我一直在拼凑一个快速和肮脏的脚本来返回一堆IP地址的地理位置。 我正在使用freegeoip.net,并找不到一个快速的wget等效于cmd行,所以使用powershell脚本,从我的batch file调用它(或者至less尝试,我认为这是我失败的地方)。 命令行是: for /F "tokens=* usebackq delims=" %a in ("E:\DATA\02.ips.txt") do ( set /a N+=1 powershell -command "E:\DATA\Resources\geolocation.ps1 %a" ) (第一行需要跳过包含标题,而不是IP) 地理位置.ps1是: wget freegeoip.net/csv/$args[0] -OutFile "E:\DATA\IPs\$args[0].txt" 我希望这会给我一个每个IP的返回CSV的文件夹,然后我可以整理成一个文件与副本E:\ DATA \ IPs * .txt alltheips.txt然后该文件将被加载到另一个应用程序使用。 这个(显然)散列是从我search和拾起来的东西混合在一起的,但是,(显然)我实际上并不知道我在这里做什么,所以任何帮助,在失踪的一块将不胜感激! 简而言之,我所追求的,就是把我的IP地址列表(我有一个文本文件有一个头文件,然后每一行都是一个新的IP地址,这些文件是x长度的,每次运行都会有所不同 – 偶尔它将是空的,所以如果我可以检查文件的长度,并且是否只包含标题来跳过这个过程会很方便。 检查这些IP与freegeoip.net,并将它们提供的数据整理到一个文件中,以便将用户的位置与我通过IP保存的其他数据关联起来。 干杯!