Articles of PowerShell

New-MoveRequest – 如何dynamic分配-TargetDatabase

我正在进行迁移(大约)5000个邮件对象,我需要一个方法/脚本/命令,使我可以利用New-MoveRequest CMD-Let结合dynamic分配TargetDatabase的可能性。 任何想法都会很棒。 干杯,安道尔

使用PowerShell获取设备驱动程序版本和关联的GUID?

现在,我得到两个单独的对象 一个Win32_NetworkAdapter WMI对象 一个Win32_PnpSignedDriver WMI对象 在我以前的脚本中,我已经确定我正在调用单独的对象,并通过GUID进行关联 $mydev = Get-WmiObject -class Win32_NetworkAdapter | Where-Object {$_.pnpdeviceid -like "*VEN_0000&DEV_00AA*"} If ($mydev.GUID -eq $relatedobj.ParentID) { action } 但是没有GUID / ParentID /等。 属性为Win32_PnpSignedDriver对象。 是否有另一种方式来获取有关设备的驱动程序(特别是驱动程序版本)的信息,并获得设备的GUID? 是否有可能赢得Win32_PnpSignedDriver,我只是没有看到它?

任务调度器中任务的合法性

有没有办法在Windows Server 2008和2003中的任务调度程序中了解任务的来源和合法性? 我可以检查任务是否由微软(即:从sccm)或第三方应用程序添加? 对于任务调度程序中的每个任务,我想validation该任务尚未由第三方应用程序创build。 我只想让标准的Microsoft Tasks和禁用所有其他非标准任务。 我创build了一个PowerShell脚本,通过C:\ Windows \ System32 \ Tasks目录中的所有xml文件,并且能够成功读取所有的xml任务文件,但是我被困在如何validation任务。 以下是供您参考的脚本: Function TaskSniper() { #Getting all the fils in the Tasks folder $files = Get-ChildItem "C:\Windows\System32\Tasks" -Recurse | Where-Object {!$_.PSIsContainer}; [Xml] $StandardXmlFile = Get-Content "Edit Me"; foreach($file in $files) { #constructing the file path $path = $file.DirectoryName + "\" + $file.Name #reading […]

通过Powershell在IIS(7 / .5)中修改Web应用程序/服务的身份validation

我想通过在PowerShell中使用New-WebApplication来安装wcf-servce。 它工作正常。 但是,如何修改身份validation? 我想启用匿名访问身份validation,并禁用其余的。 我也想对其“要求SSL”。 我search了伟大的网页,但只有文章和点击有关SharePoint。 有没有人有任何想法或提示? PS:Windows Server 2008R2 – DA

检测Hyper-V Server 2012缺less的驱动程序

假设我安装了Hyper-V Server 2012.networking工作正常。 服务器被locking,只有RDP被启用。 由于服务器直接连接到互联网,启用其他端口可能不是一个选项。 据我了解,Hyper-V Server 2012只是安装了Hyper-Vangular色的Windows Server 2012。 没有其他angular色可用。 仅使用安装的操作系统上可用的工具,如何检测哪些驱动程序丢失? 在一个完整的Windows中,我通常会查看设备pipe理器来发现任何缺less驱动程序的设备。 但是这似乎不是一个select。 我一直在寻找,看看我是否可以通过PowerShell实现这一点,但没有任何运气。

使用PowerShellreplace文本文件中的行或date

我正在尝试在第59行的文本文件中插入今天的date。我该怎么做? 第59行有30个空格,然后像这样读取。 运行PowerShell脚本后,它将更改date,因此它必须是不查找文件date的内容。 Rep.Setproperty "Date","1/1/2013" 我只想将date更改为运行PowerShell脚本的date。 这个文本文件不是PowerShell脚本。 这是必须每周运行,没有用户交互。 这就是为什么我们需要通过PowerShell脚本进行date更改。 我查了你提供的链接,但我卡住了,这就是为什么我张贴在这里。 有两件事我仍然可以做。 在第59行更换date 发送今天的date,以取代那里。 这是我迄今为止。 $date = Get-Date $CMSReport = Get-content C:\reports\CMSReport.acsauto $CMSReport | ForEach-Object { if ($_.Readcount 59) { $_ -replace '\w+','Rep.SetProperty "Dates","2/4/2013"' } else { $_ } } | Set-Content testCMS.acsauto 很明显,“2/4/2013”​​将不得不用一些variables来改变,这些variables会取得命令运行的date。

使用powershell和com schedule.service对象创build计划任务时,拒绝访问

我有一个PowerShell脚本,创build一个计划的任务使用调用RegisterTask通过Schedule.Service COM对象。 主要有: $ts = new-object -com Schedule.Service $ts.Connect() $rootfolder = $ts.GetFolder("\") $taskXml = Get-Content "Task.xml" $rootfolder.RegisterTask("\Maintenance", $taskXml, 6, "LOCAL SERVICE", $null, 5) 这工作正常我的本地机器(Windows 7中,我是本地pipe理员) 当我在机器上试用它时,它将会运行,RegisterTask调用失败,并且ACCESS_DENIED。 但是,如果我以pipe理员身份运行命令提示符,那么powershell.exe -file myscript.sps1它工作正常,并添加任务。 我已经确保它所运行的用户有权写入%windir%和%windir%/ system32中的“任务”文件夹 该用户在pipe理员组,这是令人费解的,我还需要做什么,以授予用户创build计划任务的权限? 看来只是将它们添加到本地pipe理员组是不够的。 编辑:我已login到服务器作为将运行该脚本的用户。 我可以成功地将xml文件手动导入到Task Scheduler UI插件中。

如何通过数据库名称筛选dynamic通讯组?

我需要创build一个dynamic的DL来列出一个单独的数据库的成员,我无法得到powershell命令来正确地筛选结果。 [PS] C:\>New-DynamicDistributionGroup -Name "test1233" -RecipientFilter {Database -eq "CN=JournalRecover,CN=Databases, CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups, CN=Company,CN=MicrosoftExchange,CN=Services,CN=Configuration,DC=company,DC=com" } 我试图这个DG的原因是,我可以填充下面的PowerShell脚本导出数据库中的所有用户的电子邮件 [PS] C:\>$mbxs = Get-MailboxDatabase rdb16 | Get-MailboxStatistics [PS] C:\>New-MailboxSearch -Name "test2" -SourceMailboxes $mbxs -TargetMailbox journalrecover -StartDate "11/1/2012" -EndDate "11/15/2012" -IncludeUnsearchableItems:$true -SearchDumpster:$true -ExcludeDuplicateMessages:$true -DoNotIncludeArchive:$true 题 我如何创build一个由数据库过滤的DG? 或者我怎样才能改变邮箱search,所以它适用于数据库中的多个邮箱?

PowerShell脚本硬盘驱动器清单

我已经创build了一个脚本来从我们的服务器获取硬盘信息。 该脚本使用WMI查询Win32_LogicalDisk类,并为每个服务器的每个设备ID(本地磁盘)返回“大小(GB)”,“可用空间(GB)”和“可用空间(%)”。 我想按照每个服务器上每个设备ID的“可用空间(%)”进行sorting。 当我按“可用空间(%)”sorting时,它不显示每个设备ID。 一台服务器同时具有C:和D:驱动器,但只有D:驱动器显示在输出中。 如果我删除Sort-Object "Free Space (%)"可用Sort-Object "Free Space (%)" ,它将显示每个服务器的所有设备ID。 任何人都可以帮我用这个脚本? $computers = C:\users\mtrajano\documents\powershell\scripts\list.txt $logicalDisk = Get-WmiObject Win32_LogicalDisk -Filter "DriveType=3" -Computer $computers | Select-Object SystemName, DeviceID, @{ Name = "Size (GB)"; Expression = { "{0:N1}" -f ($_.size / 1GB) } }, @{ Name = "Free Space (GB)"; Expression = { "{0:N1}" -f […]

Hyper-V 2012上的命名空间“rootvirtualization”无效

在全新的Hyper-V 2012服务器上运行以下命令: get-wmiobject -namespace “rootvirtualization” -Query “select * from Msvm_ConcreteJob” 产生这个errorerror: Get-WmiObject : Invalid namespace "rootvirtualization" At line:1 char:1 + Get-WmiObject -Namespace "rootvirtualization" -Query "Select * from Msvm_concret … + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (:) [Get-WmiObject], ManagementException + FullyQualifiedErrorId : GetWMIManagementException,Microsoft.PowerShell.Commands.GetWmiObjectCommand 这个命名空间不应该成为标准的Hyper-V安装的一部分吗? 是否有一些我需要安装的PowerShell模块?