Articles of PowerShell

IIS 6.0 Windows Server 2003 – 如何使用PowerShell遍历所有网站?

如何使用PowerShell遍历IIS 6.0(Windows Server 2003)上托pipe的所有网站? 有没有办法做到这一点使用WmiObject? 谢谢!

在PowerShell中正确使用-OutVariable

我试图在一个简单的单线程 PowerShell命令中使用Common Parameter OutVariable ,但是这不是我认为它应该(或者真的)的方式工作。 Get-Mailbox -OutVariable mBoxes | Get-MailboxStatistics | Select-Object DisplayName,TotalItemSize,@{name="ArchiveStatus";Expression={$mBoxes.ArchiveStatus}} 我只想返回3列,第三列是最初的Get-Mailbox命令的结果的属性。 我试图使用OutVariable存储结果,以便在我的Select-Object命令中使用,但是结果打印时该列总是空的。 我不了解OutVariable的目的吗? 顺便说一句, Get-Mailbox | Select ArchiveStatus Get-Mailbox | Select ArchiveStatus工作得很好。 jscott – 我简化了以下命令 – get-mailbox -OutVariable mBoxes | Select-Object @{name="Null?";Expression={$mBoxes -eq $null}} Get-Mailbox将返回的每一行都为True 。 显然不是在$ mBoxesvariables中存储任何东西。

当我从cmd启动powershell“job”时,我可以在哪里接收Job的结果?

假设我运行这样的PowerShell脚本: C:\utils\powershell\MDB_BE>powershell -File .\MonitorFileSize.ps1 WARNING: column "Command" does not fit into the display and was removed. Id Name State HasMoreData Location — —- —– ———– ——– 1 Job1 Running True localhost …和PowerShell脚本启动一个工作… 当我打开另一个PowerShell窗口时,我注意到当我运行Receive-Job 1时没有列出这个工作,所以工作去了哪里,我该如何让它继续运行,当我退出Powershell进程时再次find它?

如何重新启动PowerShell脚本,如果它死了?

我有一个powershell脚本我想用来监视文件的大小(在一定的时间间隔),并发送给我一个电子邮件警报,如果文件达到一定的大小。 但是,在发现文件已达到该大小后,PowerShell脚本将退出。 目前,脚本在for循环中运行,首先进行文件大小检查,如果没有超过最大大小,它将等待给定的时间间隔并再次检查文件大小。 但是我正在考虑把这个循环改成do …,这样它会先等待时间间隔,然后检查文件的大小。 但是当电子邮件发送时脚本仍然会退出。 有什么方法可以确保脚本在邮件发送后退出时重新运行? 我读到数据库系统中有一些进程监视其他进程以确保它们正在运行,如果没有进程,则监视进程会重新生成已经死亡的进程。

使用命令行查看给定计算机的本地来宾帐户是否被禁用

我需要生成一个报告,显示给定的计算机列表的访客帐户被禁用。 我如何使用net user ,PowerShell,或任何其他常用的工具为此目的?

为什么从计划任务运行powershell命令“Restart-Service Tomcat6”失败?

当我尝试运行一个任务时,我在计划任务历史logging中出现以下错误: Task Scheduler successfully completed task "\Restart Tomcat" , instance "{264b4620-5f3b-6c5f-a6cb-1625a7fa57de}" , action "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.EXE" with return code 1. 计划的任务configuration如下: 名称: 重新启动Tomcat 用户: DOMAIN \ tomcat.restarter 触发器: 每日2AM启用 操作: 启动程序 : 程序/脚本: powershell 参数: -Command "Restart-Service Tomcat6" 当我用DOMAIN \ tomcat.restarter启动命令提示符时: runas /user:DOMAIN\tomcat.restart cmd 并运行: powershell -Command "Restart-Service Tomcat6" 然后echo %errorlevel%打印0 ,Tomcat重新启动。 这表明Tomcat6服务上的SDDL足以达到目的,并且DOMAIN \ tomcat.restarter可以重新启动它。 如果我将计划的任务参数更改为-Command "'hello […]

Exchange 2010 – 邮箱导出远大于实际大小

我发出这个命令来导出用户的邮箱: New-MailboxExportRequest -Mailbox "user" -FilePath "\\server\share\user.pst" 2分钟左右之后,这个文件已经生成: 请注意导出文件的大小,现在这是从outlook中看到的服务器上邮箱的实际大小: 这个额外的100MB的输出文件是从哪里来的?

Windows 2012 Server是否需要作为AD Webservices for Powershell的域控制器?

我试图通过Powershell来实现ADpipe理命令,如“Get-ADUser”和“Get-ADComputer”。 我们所有的域控制器都是Windows 2003,我们有一个Windows 2012成员服务器。 我可以为此使用该服务器吗?还是强制使2012服务器成为DC?

使用PowerShell在Hyper V中自动安装Windows Server 2008

我经常在我的笔记本电脑上运行Hyper V服务器(运行Windows Server 2008)来testingvaroius软件。 有没有在PowerShell中创build一个图像的方式,并在该图像上运行Windows更新? 有没有人有脚本,他们可以分享?

Start-BitsTransfer在从powershell手动触发但不使用Windows服务时工作

我正在使用BITS将文件从一台Windows 2008 R2服务器传输到另一台。 当我从PowerShell或常规命令行手动运行命令它完美的作品。 现在,当我在Jenkins中使用相同的命令作为构build脚本的一部分时,它会失败,并显示以下错误: Start-BitsTransfer:找不到path'\ 192.168.1.210 \ C $',因为它不存在。 Jenkins作为“本地系统”帐户下的Windows服务运行。 我以为改变Windows服务在“networking服务”帐户下运行可能会有所帮助,但事实并非如此。 是否有一些安全原因不允许BITS从Windows服务运行? 这里是我有deploy.ps1的Powershell脚本: Function Get-PSCredential($User,$Password) { $SecPass = convertto-securestring -asplaintext -string $Password -force $Creds = new-object System.Management.Automation.PSCredential -argumentlist $User,$SecPass Return $Creds } $credential = Get-PSCredential -User jenkins -Password jenkins Import-Module BitsTransfer Start-BitsTransfer -source c:\file.zip -destination \\192.168.1.210\C$\Website -credential $credential 再次确认,上面的PowerShell脚本工作得很好,当我手动触发它自己使用PowerShell或Windows命令。 这是我在Jenkins中用来触发脚本的命令: Powershell.exe -noprofile -executionpolicy Bypass […]