Articles of PowerShell

Robocopy和IIS日志修改的行为

我试图创build一个机制(在我的情况下,包装在PowerShell中的Robocopy),将从我们所有的Web服务器备份IIS日志到一个中央的CIFS共享。 正如你所料,我已经有复制当前打开的日志文件的问题,因为NTFS不会可靠地更新LastWriteTime作为文件被写入,除非它的所有句柄都closures。 但是我注意到,每当我用Windows资源pipe理器浏览目录时,不仅Date修改更新,而且下一个Robocopy运行会正确捕获文件并使其保持最新状态。 在尝试模拟Windows资源pipe理器行为时,我在调用Robocopy作业之前在PowerShell中运行了以下代码: $aryFileList = Get-ChildItem $job.SourcePath ForEach ($file in $aryFileList) {(New-object System.IO.FileInfo $file).LastWriteTime | Out-Null} 这适用于我的一些IIS服务器和我所有的其他日志logging方法(主要是log4net)。 但是,在我的两台IIS服务器上,这个function没有任何作用,即使它们与其他操作系统完全一样,也是相同的操作系统和IIS版本。 这让我想起了这个想法。 Windows资源pipe理器在使用它刷新目录时到底会更新Date Modified / LastWriteTime信息? 最重要的是对于我的目的,是否有任何方法可以在PowerShell中调用相同的东西?

PSEXEC – 系统找不到指定的path

我正尝试在networking共享上启动端点保护扫描。 我发现我需要利用PSEXEC来完成这个,但是连接到这个共享却有问题。 我在本地映射了驱动器,并且在运行该命令之前尝试了“NET USE”,但没有更正“系统找不到指定path”的错误消息。我的命令有什么问题吗? psexec \\servername\share -u username -p password -s cmd /c MpCmdRun -Scan -ScanType 3 -File "N:\TEST"

完全控制PowerShell的颜色

我想通过枚举所有可能的选项并赋予它们不同的值来定制我的shell。 我已经search了高低,但实际上没有好的指导,最接近的是这里提到的李·福尔摩斯的剧本。 问题是,它似乎没有工作。 无论我在“新build”的powershell.exe部分,还是在全局的HKCU:\ Console(可能是一个ColorTable值或Fullscreen属性)中设置的属性,它都不起作用。 我很好奇如何设置值甚至是不完整的命令着色为黄色和别名(如“退出”)变成绿色。 现在,一个命令(引入一个参数)之后的任何破折号都会使这个单词变黑,使它在黑暗的背景中不可见。 我怎样才能重置控制台,但更重要的是,find实际上保存设置生效的位置?

如何找出服务器上所有用户的IE代理设置(例如Windows 2008R2)?

我试图拉下面的这个信息下面的PowerShell脚本,但它只是获取我的个人资料,而不是所有的用户login到服务器的信息。 我正在寻找错误的地方? 感谢您的帮助和指导。 $keyname = "Software\Microsoft\Windows\CurrentVersion\Internet Settings" $reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('LocalMachine',$server) $key = $reg.OpenSubkey($keyname) $ProxyStatus = $key.GetValue('ProxyEnable') $proxyURL = $key.GetValue('AutoConfigURL')

Azure资源pipe理器和Powershell DSC – 更改不适用

我有一个运行以下DSC的Powershell DSC扩展部分的ARM模板: Configuration Name { Node MachineName { #IIS Role WindowsFeature IIS { Name = “Web-Server” Ensure = “Present” } #IIS GUI WindowsFeature WebServerManagementConsole { Name = "Web-Mgmt-Console" Ensure = "Present" } } } 这运行良好,如预期。 如果我尝试更改任何东西(例如,添加一个新的WindowsFeature或更改一个确保选项“缺席”),则会出现问题。 这些更改不会反映在服务器上。 是否有一个标志或选项可以使ARM将DSC更改推送到服务器?

如何在Windows Server 2008 R2 SP1上获得ADDSDeployment模块

我想知道在Windows Server 2008 R2 SP1上使用AD DS Demployment CMDLets( Install-ADDSDomain等)。 我已经安装AD域服务function,并在可用模块列表( Get-Module -ListAvailable )我只看到Active Directory 1.0.0 。 我有PSVersion = 5.0.10586.117。 不幸的是,我无法find是否有可能在Windows Server 2008 R2上获得ADDSDemployment以及如何安装它。 感谢您的任何帮助 !

Get-WmiCounter Win32_PerfFormattedData_NETFramework_NETCLRMemory在非pipe理环境中不完整

所以我创build了一个脚本来使用Get-CimInstance (它取代了Get-WMIObject )来收集计数器,并通过srvany.exe作为服务来运行它。 我遇到一个问题,在.net CLR类中,有些进程没有收集,特别是我想要监视的进程: w3wp 。 在提升的Powershell控制台中运行应用程序时,该命令将返回依赖.Net的所有进程,而如果我在标准的PowerShell控制台中运行它,则只会收集本地.Net进程。 我需要为该服务设置适当的权限,以便收集所有进程的所有度量标准。 我已经尝试以pipe理员身份运行该进程,域pipe理员帐户,无济于事。 我已经尝试在wmimgmt.msc WMIpipe理控制台上明确给出root\cimv2上的所有权限,而不解决问题。 服务的默认运行上下文是SYSTEM,这也是IIS的默认运行上下文。 我不知道需要给予什么权限以及在哪里允许此服务收集所有数据。 我觉得作为一个服务login作为pipe理员帐户应该是足够的,但显然不是。 在这个问题的例子 PS C:\Users\user> gcim Win32_PerfFormattedData_NETFramework_NETCLRSecurity | select-object Name Name —- _Global_ powershell SCNotification 现在,以“以pipe理员身份运行”的PowerShell控制台: PS C:\WINDOWS\system32> gcim Win32_PerfFormattedData_NETFramework_NETCLRSecurity | select-object Name Name —- _Global_ powershell w3wp w3wp#1 w3wp#2 powershell#1 SCNotification SCNotification#1 在非pipe理控制台中使用替代的Get-Counter更糟糕: PS C:\Users\user> Get-Counter -Counter "\.NET CLR Memory(*)\*" -SampleInterval […]

如何禁用“不允许驱动器redirect”本地策略不使用GUI?

我需要这样做,最好使用PowerShell /批处理,但search后,只有一些说明创buildadm / admx文件。 有没有更简单的方法来做到这一点? 我还发现了HKLM \ SOFTWARE \ Policies \ Microsoft \ Windows NT \ Terminal Services设置的registry项!fDisableCdm 但它看起来只反映了GUI中的变化。 registry中的手动更改不起作用,从安全的angular度来看是有意义的。 谢谢

基于OU的用户移动脚本

任何将读取用户的部门属性(在一个OU和子OU之下)的脚本,并将它们移动到不同的OU(部门已经创build的OU结构名称与属性中的部门相同)。 我们创build了具有不同名称的ou和sub ou作为部门属性 如果您有任何问题,请帮忙 我已经尝试下面的脚本..工作正常…但不是为了子OU …你可以让它工作的子OU以及(现在用户在子OU不search也不移动到子OU甚至子OU创build作为部门名称)…. # Moves User Accounts from the given Root OU into sub OUs by looking up the company Attribute of the User Object # If the OU does not exist, it will be created (the regular expression filter is removing special characters) Import-Module ActiveDirectory $RootOU = "OU=Move,DC=testad,DC=com" $LogFile=".\ADS_MoveUsersToOU.txt" $strFilter = […]

当发生变化时,dsc本地configurationpipe理器给我发电子邮

我正在运行DSC ConfigurationMode设置为"ApplyAndAutoCorrect"它工作正常,因为它正在解决15分钟,这是默认的任何问题。 发生纠正时,我希望以任何方式得到通知。 只有ConfigurationMode其他选项是"ApplyOnly"和"ApplyAndMonitor" ,最后一个报告日志变化。 有没有办法让我知道更正发生的通知。 如果没有,是"ApplyAndAutoCorrect"选项存储更正在一些文件,我可以看到的变化进行更正的信息。