Articles of PowerShell

在PowerShell中查询已禁用的AD用户

当运行一个查询如 Get-ADUser -Filter * | select DistinguishedName, Enabled 启用列有很多空值(我只是期待真或假)。 为什么是这样? 有更好的命令来获得用户帐户的启用/禁用状态吗? 这是在2008R2域名。

现在在EMC和ADSIEDIT中删除了GAL错误

我试图通过Exchangepipe理控制台和ADSIEDIT删除全局地址列表,因为我在创build时犯了一个错字。 现在,当我尝试创build一个新的GAL时,出现以下错误 [PS] C:\ Windows \ system32> New-GlobalAddressList -Name“Tenant00001 -GAL”-ConditionalCustomAttribute1“Tenant00001”-Inc ludedRecipients MailboxUsers -RecipientContainer“******** dc.com/HostedExchange” 警告:Active Directory属性中缺less一个或多个全局地址列表。 这可能是由于使用传统的Exchangepipe理工具来创build全局地址列表所致。 *** MasterDC发生Active Directory约束违规错误******* dc.com。 附加信息:名称参考无效。 这可能是由Active Directory域控制器之间的复制延迟造成的。 Active Directory响应:000020B5:AtrErr:DSID-0315286E,#1:0:000020B5:DSID-0315286E,问题1005(CONSTRAINT_ATT_TYPE),数据0,Att 907ff(globalAddressList2)+ CategoryInfo:NotSpecified:(:) [New-GlobalAddressList] ,ADConstraintViolationException + FullyQualifiedErrorId:[Server = C ******** R01,RequestId = e066151b-e695-494e-b238-f1b0f141c708,TimeStamp = 15/12/20 14 17:21:56] [FailureCategory = Cmdlet- ADConstraintViolationException] 62CA54FF,Microsoft.Exchange.Management.System ConfigurationTasks.NewGlobalAddressList + PSComputerName:** asvr01。******* dc.com [PS] C:\ Windows […]

在脚本中使用Exchange PowerShell cmdlet的“受支持”方式是什么?

从我读过的内容来看,Microsoft不支持从Exchange命令行pipe理程序以外的任何位置使用Exchange PowerShell cmdlet。 然而,当然人们需要能够脚本化并非交互式地运行它们吗? 我试过四处寻找,但我能find的是“Add-PSSnapin Microsoft.Exchange.Management.E2010”不是支持的方法,没有提及什么支持。 有人知道吗? 还是每个人都忽略微软,并使用Add-PSSnapin呢?

将IIS高级日志导入到SQL中

我正在使用IIS 8.5高级日志logging ,并logging一些自定义HTTP标头。 我怎样才能将原始日志定期(即每分钟)导入SQL? 我想避免ODBC日志的开销,微软也build议不要这样做。 有一个命令行工具,我可以通过Powershell脚本,例如? 也许bcp ? 别的东西?

通过cmd或powershell获取已安装的程序

我试图让所有安装的应用程序在我的域的计算机中,但我还没有find一种方法来获取信息的准确方式首先我试图通过registry项来实现这一点: HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* 但是这返回了更多的信息比我需要更新安装。 所以我search了另一种方式,我发现wmi类Win32_product包含所有已安装的应用程序,但尝试这个y之后,发现reclay的信息是不正确的 ¿为什么有一些应用程序,如谷歌浏览器,免费代理,戴尔系统诊断 ,查询类时不会出现? In this link is the answer for this question 使用powershell获取完全相同的应用程序列表中的添加/删除程序 有一种方法可以通过PowerShell或命令行准确地获取所有安装的应用程序在Windows中?

如果使用对象,则在foreach循环中获取ADUser不会返回任何内容

$users = Get-Content "C:\PowerShellScript\CSV\swyxusers.csv" $test = Foreach ($user in $users){ Get-ADUser -Filter {Name -like "*$user*" } | Select-Object SamAccountName, Enabled } $test| export-csv -Force -Append "C:\PowerShellScript\CSV\skit.csv" 运行上面的结果没有任何导出到CSV,但如果我添加Write-Host "$User"它导出的用户列表。 所以我知道导出function的作品。 如果我像这样运行它: $users = Get-Content "C:\PowerShellScript\CSV\swyxusers.csv" $test = Foreach ($user in $users){ Get-ADUser -Filter {Name -like "*User 1*" } | Select-Object SamAccountName, Enabled } $test| export-csv -Force […]

Powershell | 用variablesreplacemailNickname

试图用自己的samaccountnamereplace所有用户的mailNickname: Import-Module activedirectory $SAM = (Get-ADUser -SearchBase "OU=Staged,OU=corp,DC=mycompany,DC=com" -Filter * | select samaccountname) foreach ($User in $SAM.samaccountname) { Set-ADUser $User -Replace @{mailNickName = "$SAM"} } 该脚本将mailNickName设置为空白。 任何想法? 谢谢

如何使用PowerShell清除Exchange邮件队列

我今天早上需要从邮件队列中清除一堆消息,并认为使用Powershell查询队列将会非常好。 那里有任何脚本? 注意:这是为SBS 2003,所以没有Exchange 2007 – 但作为一个升级附近,只有2007年的答案将会很好…

查询Windows框以查看当前login的用户是否空闲 – 理想情况下使用WMI

我希望能够查询当前login的用户是否在他们的个人电脑闲置 – 即他们的个人电脑认为他们是“不活跃”…问题是有这么多的方式可以做到这一点。 有没有一个普遍的:“这台计算机是空闲/非活动” – 我正在考虑使用任何措施电源子系统使用… 我的想法是使用WMI / Powershell,但我也可以在C#中使用.NET调用 – 我只是不想! 对不起,对此有点模糊,我更乐意让任何人把我的问题编辑成更有意义的东西! 麦克风

如何使用PowerShell连接主文件夹

我试图用New-QADUser cmdlet创build用户。 我知道这个cmdlet有-HomeDrive开关。 但问题是,cmdlet只是将pathstring应用到用户的帐户,而不是像在使用ADUC控制台时那样在文件服务器上创build用户的主目录。 我怎样才能做到这一点corerctly?