Articles of PowerShell

如何使用PowerShell来获取父文件夹的子项,并拿起最新的更新子文件夹?

$ var.droppath.TrimEnd()#是父文件夹 所有子文件夹都以“10。**”命名… 我可以使用以下行来获取所有子文件夹: get-childitem $var.droppath.TrimEnd()|where-object {$_.name -match "10."} 这是我得到的一个小孩的名单: PSPath : Microsoft.PowerShell.Core\FileSystem::\\sharespace\test1\10.00.1220.00 PSParentPath : Microsoft.PowerShell.Core\FileSystem::\\sharespace\test1\ PSChildName : 10.00.1220.00 PSProvider : Microsoft.PowerShell.Core\FileSystem PSIsContainer : True Name : 10.00.1220.00 Parent : CU Exists : True Root : \\sharespace FullName : \\sharespace\test1\10.00.1220.00 Extension : .00 CreationTime : 1/8/2011 3:24:01 PM CreationTimeUtc : 1/8/2011 7:24:01 AM LastAccessTime : […]

PowerShell删除目录基于closuresdate在文件夹的名称

我最近把一个PowerShell脚本放在一起,以下面的格式创build按date命名的目录“yyyyMMddHHmm” 我一直在试图做的是弄清楚如何通过脚本(或者创build一个新脚本)自动删除超过三天的任何目录。 我希望能够拉动文件夹的名称(如在上面的格式中读取date),这是决定性的因素,但我不确定我会从哪一个开始。 我想知道这些步骤是什么,以便我可以分解它会有所帮助。 任何人都曾经尝试过这样的事情与PowerShell?

Exchange 2010 SP1search邮箱

我正在尝试search邮箱(在导出到PST后)并删除符合特定条件的邮件。 每次我尝试运行search邮箱命令,我得到以下输出: The target mailbox or .pst file path is required. + CategoryInfo : InvalidArgument: (:) [], ArgumentException + FullyQualifiedErrorId : 79CD2AE3 我甚至尝试了PowerShell显示的例子,并且仍然得到相同的消息。 尝试一个命令的例子: [PS] C:\Windows\system32>Search-Mailbox -Identity "David Tester" -SearchQuery "Subject:'Your bank statement'" The target mailbox or .pst file path is required. + CategoryInfo : InvalidArgument: (:) [], ArgumentException + FullyQualifiedErrorId : 79CD2AE3 [PS] C:\Windows\system32> […]

PowerShell脚本从命令行运行,而不是从任务计划程序运行。 为什么?

我的PowerShell脚本从命令行运行,但不能从Task_Scheduler运行 。 这是Windows Server 2008 R2 Enterprise上的PowerShell v1。 从命令行input: c:\> powershell -File "C:\Program Files\mystuff\foo.ps1" 我的单行PowerShell脚本运行良好 – 它复制名为* .bak的最新文件。 这是脚本,万一有用: gci X:\backups\*.bak | Sort-Object LastWriteTime -Descending | Select-Object -first 1 | foreach { xcopy $_ z:\backups\ } 我使用相同的命令创build了一个计划任务。 脚本立即完成,结果代码为0,但脚本实际上没有做任何事情。 所以我试图看到我的脚本的输出,并改变我的计划行动: cmd /c powershell.exe -File "C:\Program Files\mystuff\foo.ps1" > c:\ps.log 现在我看到输出:“0文件复制” 返回到命令行并再次尝试,它仍然正常工作。 计划的任务以与命令行相同的用户身份运行。 是什么使其行为有所不同?

检测Windows安装何时完成

我得到了使用Powershell在虚拟机(WMWare Workstation)中安装Windows Server 2008 R2的任务。 在虚拟机内部安装Windows非常容易。 现在,我想检测安装何时完成,因为我必须在安装后运行其他任务(运行Windows Update并安装多个应用程序)。 Windows中是否有任何机制可以让我检测到安装结束? 就像是: 事件查看器中的日志消息 我可以计划在安装结束后运行的任务 等等… 谢谢!

Move-ADObject错误父对象未被实例化

尝试将用户从一个域移动到另一个活动目录时出现以下错误 “Move-ADObject:无法执行该操作,因为该对象的父级未被消除或被删除” 拓扑结构如下:域1,DC1 – (GC) – Move-ADObject在此域中的testuser下被激怒。 这也恰好是森林域2的根dc,DC2 – (GC) – 这是目标dc,域是域1的子域 任何人都可以帮我解决这个错误?

Exchange 2010 – 每次我按Enter键时,在ems中右括号(>>)

比方说,我运行这样的cmdlet: [PS] C:\Windows\system32>$AllMBX = Get-MailboxStatistics -Database "SSYDrybulk? | Where-Object {$_.DisconnectDate -ne $NULL} | Select MailboxGuid, Database [Enter] >> [Enter] >> 没有input[Enter],当我点击它时。 我找不到为什么cmdlet正在给我>> 。 它看起来像它希望我input终止,以指示cmdlet的结束,但我无法find它是什么感冒。 请帮忙。

使用PowerShell获取用户Live @ edu上的用户LastLogonTime

我正在尝试使用LastLogonTime在Live @ edu环境中获取所有用户的csv文件,但是我在这里遇到了一些问题是我的脚本: foreach ($i in (Get-Mailbox -ResultSize unlimited)) { Get-MailboxStatistics -LastLogonTime $i.DistinguishedName | where {$_.LastLogonTime} | select-object MailboxOwnerID,Name,LastLogonTime | export-csv -path "c:\filepath\UserLastLogon.csv" } 我得到的错误: A positional paparameter cannot be found that accepts argument '[email protected],OU=domain.edu,OU=Microsoft Exchange Hosted Organizations,DC=prod,DC=exchangelabs,DC=com'. +类别信息:InvalidArgument:(:) [Get-MailboxStatistics],ParameterBindingException + FullyQualifiedErrorId:PositionalParameterNotFound,Get-MailboxStatistics 任何帮助将是伟大的!

NETSH已被PowerShell取代(2012年12月)

简单的问题:我可以避免在Windows Server 2008 R2中使用NETSH,而是使用PowerShell CmdLets来操纵HTTP之类的东西吗? 如果是这样,一些CmdLets是什么让我开始,他们是一些额外的模块的一部分?

Powershell脚本在Win7客户端上运行,但不在Exchange CAS服务器上运行

我创build了一个小的powershell脚本,用于在用户不是特定AD组的成员时禁用邮箱的活动同步。 当从Exchange命令行pipe理程序从我的Windows 7工作站运行此脚本时,此脚本完美工作。 但它不在CAS服务器的EMS上工作。 $groupname = "ActiveSync Users" $groupidentity = $(Get-Group $groupname).Identity.DistinguishedName Get-Mailbox -ResultSize unlimited |Set-CASMailbox -ActiveSyncEnabled $false -ErrorAction SilentlyContinue -WarningAction SilentlyContinue $users = Get-ADGroupMember $groupname | select -ExpandProperty name foreach ($user in $users) { Get-Mailbox $user | Set-CASMailbox -ActiveSyncEnabled $true } Get-Mailbox | Set-CASMailbox 在Exchange CAS服务器上, Get-Mailbox | Set-CASMailbox和Get-ADGroupMember代码部分失败。 Get-Mailbox | Set-CASMailbox Get-Mailbox | […]