Articles of PowerShell

在Windows 2k8中使用gpeditclosures脚本停止自动重新启动

我正在寻找一种方法来validation,也许停止在Windows下的自动重新启动。 例如自动重新启动由Windows更新初始化。 当使用gpedit添加closures脚本时,该脚本得到正确执行,但是当这些脚本更复杂时,我该怎么办? 我的情况如下:在重新启动服务器之前,我需要正常closures已安装的应用程序,并且必须等待,因为应用程序closures可能需要一个小时。 所以我必须在closures脚本中validation一切是否成功执行以及应用程序是否正确closures。 我找不到在这些closures脚本中停止重新启动的方法。 有人有一个想法如何build立这个? 短:停止从(例如)gpedit关机脚本重新启动。 类似的方法也是可以的。 脚本的Windows更新调用是不是真的去我的方式.. 🙁

如何使用Powershell查找Windows Server的最新更新?

我在Windows Server上自动安装一些软件。 作为一个预先要求,操作系统应该有最新的服务包和每月更新包安装,否则应用程序将不被支持。 服务器没有互联网访问,所以没有WU / MU。 WSUS没有更新,并且在我的控制之外。 需要找出WS 2012,2012R2和2016的最新更新,并将其应用于networking存储库。 每个发行版(每2周)都会重build服务器。 必须在Powershell中编写脚本并免费维护 – 不会手动浏览MU目录或其他Microsoft资源,以便每月查看最新的最新KB代码。 需要build立我自己的存储库与最新的更新。 是否有官方的微软列表,可以查询(如果可能的话,通过Powershell),并支持高级search的操作系统,date,更新types? 如下所列: https : //www.catalog.update.microsoft.com/Home.aspx

dynamic添加Server 2008 NLB节点

我有一个用于terminal服务器的小型NLB群集。 我们正在为这个特定项目(这是一个大学课程)做的事情之一是dynamic创buildterminal服务器。 我们所做的是为特定OU创build策略,设置适当的TS Farm属性并安装terminal服务器angular色和NLBfunction。 现在我们要做的就是创build一个脚本,在我们的域控制器上运行,将主机添加到预先存在的NLB集群中。 在我们的服务器2008 R2域控制器上,我正在考虑运行以下PowerShell脚本,我曾经一起黑客入侵。 任何想法,如果这将工作? 有没有什么办法可以触发这个脚本在DC上运行,一旦所有安装angular色的脚本都在各种terminal服务器上完成了? 首先十分感谢!! Import-Module NetworkLoadBalancingClusters $TermServs = @() $Interface = "Local Area Connection" $ou = [ADSI]"LDAP://OU=Term Servs,DC=example,DC=com" foreach ($child in $ou.psbase.Children) { if ($child.ObjectCategory -like '*computer*') {$TermServs += $child.Name} } foreach ($TS in $TermServs) { Get-NlbCluster 172.16.0.254 | Add-NlbClusterNode -NewNodeName $TS -NewNodeInterface $Interface }

ACL监控和报告

我需要一个工具/脚本来报告给定path的当前定义的权限。 如果子树的权限与其父级相同,则应该省略整个子树。 只有当权限与其包含的目录不同时才应列出文件。 输出应该是紧凑的(不像cacls / icacls)和纯文本,所以我可以提交给SVN。 有这样的事情吗?

尝试使用PowerShell将多个计算机帐户添加到AD组

我很努力地将多个现有的计算机帐户添加到AD组,我试过下面的语法,但没有工作: Import-module ActiveDirectory foreach ($c in Get-Content c:\pacs_ws.txt) { add-QADGroupMember -identity 'S-1-5-21-436374069-152049171-725345543-20610' -Member $c } SID是我想要添加计算机帐户的组 另一个尝试:(哪些工作与添加用户列表,但不处理与计算机帐户列表)由于用户名和计算机名是AD对象,可以是AD组的一部分我认为它应该工作相同… Import-module ActiveDirectory $computers = Get-Content c:\pacs_ws.txt #input list foreach ($c in $computers) { add-QADGroupMember -identity 'CN=PacsWorkstationsGrp,OU=Security Groups,OU=Groups,OU=Accounts,DC=asuta,DC=co,DC=il' -Member $c } 另一个尝试: foreach ($ws in Get-Content c:\pacs_ws.txt) { Add-ADPrincipalGroupMembership -identity $ws -MemberOf 'CN=PacsWorkstationsGrp,OU=Security Groups,OU=Groups,OU=Accounts,DC=asuta,DC=co,DC=il' } 我已经尝试了更新后的脚本,但它不起作用:Add-QADGroupMember:无法parsing给定标识的目录对象:'asuta.co.il \ TAPC03521'。 在C:\ […]

使用DPM 2010和PowerShell还原250多个文件

我有什么应该是一个相当简单的任务:从DPM恢复以下文件: D:\inetpub\wwwroot\*\index.* 我遵循这个TechNet wiki中的指示,几乎想到了我。 不幸的是, New-SearchOption命令行程序只能返回250个结果,而这个search会产生更多的结果。 所以实际上只有前250个文件被恢复了,这对任何人都是没有用的。 有谁知道任何方式来解决250search结果限制? 我想这将有可能得到D:\inetpub\wwwroot子目录,并依次通过它们循环,但我希望保持这相当简单,因为它只是为了这个任务。

用脚本将证书添加到EFS文件夹中的所有文件

我尝试设置对EFS文件夹的集体访问。 我想将所有用户的证书添加到文件夹中的所有文件。 使用powershell脚本或其他方式可行吗? 谢谢。

你可以在PowerShell中使用SQLite 64位odbc

我已经安装了64位的SQLite的ODBC驱动程序,从这个页面下载。 我在Windows 7上运行PowerShell版本2。 在ODBCconfiguration中,我创build一个名为LoveBoat的系统DSN,指向一个有效的文件。 我没有任何“真实”的应用程序来testingODBC连接是否工作,但是下面的代码是简单的C#程序。 我也希望PowerShell脚本也可以使用它。 下面的testingC#程序运行并打印出预期的数据: using System.Data.Odbc; using System.Data; using System; public class program { public static void Main(string[] args) { OdbcConnection conn = new OdbcConnection(@"DSN=LoveBoat"); conn.Open(); OdbcCommand comm = new OdbcCommand(); comm.CommandText= "SELECT Name From Myfavoritetable"; comm.Connection = conn; OdbcDataReader myReader = comm.ExecuteReader(CommandBehavior.CloseConnection); while(myReader.Read()) { Console.WriteLine(myReader[0]); } } } 但是,以下PowerShell脚本: $x = […]

运行在计算机帐户列表上的Powershell脚本,并设置安全性 – >权限:“允许进行身份validation”

正如该主题所说,我想自动执行在我的域中的所有计算机帐户上运行的过程,并将此选项设置为启用,否则人们无法使用RDPlogin到服务器。 任何想法,如果可以使用脚本来完成? 图像显示不好,您可以点击此链接查看图像。

Powershell和Sharepoint和updatelistitems()exception

我有一个问题,我不断得到 "Exception calling "UpdateListItems" with "2" argument(s): "Exception of type 'Microsoft.SharePoint.SoapServer.SoapServerException' was thrown." 每当我打电话$service.updatelistitems($listname, $xml) 。 我在网上冲浪,看到一些人有类似的问题。 我的sharepoint列表被称为Autos, Title字段被重命名为Make和一个附加的字段名Model ,都是简单的string字段。 有人知道我为什么不能更新我的清单吗? 阅读清单工作得很好。 $uri = 'http://myServerName/sandbox/_vti_bin/lists.asmx?wsdl' $listName = 'Autos' # car list cls # Create the service $service = New-WebServiceProxy -Uri $uri -Namespace SpWs -UseDefaultCredential # Create xml query to retrieve list. $xmlDoc = new-object System.Xml.XmlDocument […]