Articles of PowerShell

针对SCCM报告运行PowerShell查询

我的公司正在使用SCCM。 我已经运行了一个名为“Monitoring \ Overview \ Reporting \ Reports \ Network \ MAC-Computers for a specific MAC address”的默认报告。 它返回附加到指定MAC的所有计算机名称。 我想从PowerShell运行这个报告,并将计算机名称直接转储到控制台或文本文件。 我很难搞清楚我用什么cmdlet来做到这一点。 这可能吗?

是否有相当于nscurl ats-diagnostics的Powershell?

我知道,自El Captain以来,nscurl即将在MacOS上发布,但是我想知道是否有一种方法可以使用PowerShell获得类似的结果。 这个答案显示了如何获得证书,但它不等同于运行: nscurl ats-diagnostics https://google.com:443 在macOS上。 在Windows端有没有这样的东西?

Powershell发送邮件信息,如何把换行符放在bodyvariables中

我正在一个文件夹内的多个文件中search一个string。 如果我得到的string,然后我想电子邮件所有这些文件夹有这个string。 我已经想通了,并调整了我想要我的格式的方式。 问题是当我发送电子邮件时,内容全部出现在1行中。 我希望这个文字能被逐字打破。 以下是代码: $find = Get-Childitem –Path C:\inetpub\wwwroot\*\Web.config | Select-String -Pattern "abc..config" $boards = $find.Path | Out-String [array]$split = $boards.Split("\") $count = $split.Count $out = for ($i=0; $i -le $count; $i++) { $split[$i+3] $i = $i + 3 } $out2 = $out | Out-String Send-mailmessage -from "" -to "" -subject "Test" -body […]

程序registry编辑被阻止

我看到PowerShell脚本无法写入本地计算机configuration单元的软件密钥的情况,但用户可以在Regedit中手动执行此操作。 是否有组策略会限制程序访问,但不是手动访问?

Get-AzureSubscription $ subscriptionName -ExtendedDetails返回空白证书

我正在按照关于使用点对点VPN连接从Azure VNet中删除访问的说明进行操作? 撤销一些VPN证书。 我确实记得之前只能使用它,但是现在当我运行PS脚本时,无法在以下这些行中检索证书值: $subscription = Get-AzureSubscription $subscriptionName -ExtendedDetails $certificate = $subscription.Certificate 具体而言, Get-AzureSubscription返回的对象的Certificate属性为空。 这是我已经导入.publishsettings文件和什么不是。 … ActiveDirectoryUserId : [email protected] Account : Microsoft.Azure.Commands.Common.Authentication.Abstractions.AzureAccount Certificate : AccountAdminLiveEmailId : [email protected] CurrentCoreCount : 26 … 对于微软使得证书吊销如此血腥困难(这应该在用户界面中可用,您不应该pipe理自己的证书基础架构,而不需要编写数十个Powershell的线可能执行networking安全性的最基本的用例和…)。 但暂时搁置我的咆哮,我怎么做才能真正得到我的订阅证书?

Get-MailboxExportRequest不返回任何结果

我在Exchange 2016环境中创build了邮箱导出请求,以将用户的邮箱导出到PST。 我试图运行Get-MailboxExportRequest来查看导出的状态是什么。 不幸的是,该命令没有返回任何结果。 这不是错误,或发出任何警告,我是授予访问导出命令的angular色的成员。 我知道导出正在运行,因为我可以看到目标PST文件更改的文件大小。 Exchange安装程序是两个运行两个DB的Exchange Server,作为单个DAG的一部分,同时每个服务器上一个数据库处于活动状态。 两者都在Windows Server 2012 R2 Datacenter上运行。 我已经尝试从两个Exchange服务器运行命令,并使用命令行参数指向两个DC中的每一个,以防有帮助(事实并非如此)。 (-DomainController)。 我已经尝试过与-Status参数没有运气,我已经试过,没有指定一个邮箱。 任何人都可以向我build议我需要做什么才能让我看到我的出口状况?

某些电脑的Winrm HTTP错误

我必须在与Windows Server 2012 R2域控制器build立连接的Windows域中的Windows 7 x64上运行的所有计算机上使用powershell脚本。 powershell脚本使用以下命令:New-PSSession -ComputerName $ ServeurAD -Credential $ DomaineCredential -port“5900” 这个命令和脚本在大多数域的计算机上都能正常工作,但是当它试图为这个错误的其他人build立一个Winrm连接时,它会一直崩溃。 错误:到远程主机的连接被拒绝。 validationWS-Management服务是否在远程主机上运行,​​并configuration为侦听正确端口和HTTP URL上的请求。 我已经做了很多validation,了解它为什么崩溃,但我找不到一个方法来使其工作。 从计算机到ActiveDirectory服务器的ping工作。 tracert工作,计算机和服务器之间没有代理。 防火墙在客户端和服务器上都是禁用的。 最大的问题是,它在同一个Windows版本,相同的GPO,在域中的其他计算机上工作…

在Powershell中,如何将CredSSP DelegateComputers列为不同的对象?

众所周知,为避免Powershell Remoting 出现Powershell Second Hop问题 ,需要设置CredSSP客户端和服务器设置。 例如 # On the client, aka the First Hop Server Enable-WSManCredSSP -Role "Client" -DelegateComputer "secondhop.example.com" # On the server, aka the Second Hop Server Enable-WSManCredSSP -Role "Server" 现在我可以PSRemote到“客户”服务器,并从那里访问“服务器”服务器上的资源。 一切顺利。 但是,这个环境比较庞大, 我想知道在很多机器上有效的“客户委托计算机” 。 我如何做到这一点? 我知道我可以(Get-WSManCredSSP)[0]获得客户端代理计算机列表。 但是这是一个丑陋,笨拙的string,我非常想不parsing ,因为这是Powershell,而且我爱上了面向对象的方法。 我想我认为我已经完成了wsman:/使用Get-Item和Get-Item Get-​WS​Man​Instance ,以及通过合理地search谷歌所必须的search引擎。 这似乎难以想象,这是如此难以捉摸,我一定错过了一些令人尴尬的简单。 因此,ServerFault, 我如何本机或使用直接的.NET调用Powershell得到一个给定的主机上的CredSSP客户端DelegateComputers一个很好的数组或类似 ? 我可以在Win2008r2和Win2012r2上运行任何版本的.NET Framework和Powershell。

使用Powershell失败删除networking打印机

我做了一个删除networking打印机的PowerShell脚本。 它在GPP中按照用户首选项运行,并在任何会话login时运行。 这是脚本。 它确实使用一个networking主机地址来search打印机,该networking主机地址与var $端口相同,但是不具有var $ imprimante的名称该脚本确实使用TCP / IP端口和WSD端口查找打印机 get-date > C:\Temp\debug.txt ###Variables### $imprimante = "001 – HP LaserJet Pro M400 color M451dn (Salle prof)" $port = "10.26.57.21" ###End### Write-Host "Start Standard TCP/IP Printer" Get-WmiObject win32_tcpipprinterport | select name, hostaddress | %{ $printer = New-Object System.Object $printer | Add-Member -type NoteProperty -Name Name -Value $_.name […]

通过GPO安装Windows更新文件(.msu – KB3191566.msu)到150 pc

我想将Windows 7计算机从PowerShell 2.0更新到5.1( 安装程序链接 )。 由于GPO不支持msu安装程序,因此我创build了运行此msu文件(wusa.exe)的login脚本。 但是,当域用户login时,安装过程将停止要求inputpipe理员帐户的凭证… 我试图做这个文件和runas / savecred的快捷方式,但它不起作用。 另外我试图把安装政策,以电脑启动,但没有发生。 最后,我试图将本地文件保存到DC服务器,本地保存到PC,但同样的问题 你能提醒一下吗? 谢谢