Articles of PowerShell

search与任务计划程序关联的事件的日志

我正在使用一个Server08盒(networking版),任务计划员已经运行了几个月没有改变的家务脚本。 在上个星期,调度程序无法启动两次脚本。 TS的用户界面不报告任何错误情况 – 只是不运行脚本。 我想运行一个查询(PowerShell或Log Parser),以便在上周提取任何基于TS的事件,但是我不确定要查找的最佳方法,语法或进程名称。 谢谢

通过PowerShell脚本从DPM2010恢复虚拟机

我需要通过PowerShell恢复由DPM 2010覆盖的VM。 我用谷歌search,这是一种痛苦find没有关于DPM和Powershell的有用的文档。 参数: – 虚拟机正在群集共享卷上运行Server 2003上的Server 2005 R2 64位节点 – 两个节点上都安装了DPM 2010服务器代理 – 虚拟机的还原在DPM GUI 我想要什么? – 每天将最新的虚拟机恢复到networking位置 我的脚本的当前状态: $pg = get-protectiongroup -dpmservername DPM2010 $ds = get-datasource -protectiongroup $pg $rp = get-recoverypoint -datasource $ds[0] 它能做什么: $pg shows me the Protection Groups, ok. $ds shows me all virtual machines from the Recovery Group, nice. $rp […]

使用Quest Active Roles cmdlet创build主文件夹

我已经创build了以下脚本从csv获取数据并在AD中创build新用户: Import-Csv c:\ newusers.csv | ForEach-Object -Process {New-QADUser -name $ 。'un' – ParentContainer'CN = users,DC = domain,DC = local'-SamAccountName $ .'un'-FirstName $ 。' fn'-LastName $ '。 ln'-description'6'- userprincipalname $ 。'un'-UserPassword'P @ ssword'| 启用-QADUser | Set-QADUser -HomeDirectory'\ srv1 \ home \ $ .un'-HomeDrive'H:'-UserMustChangePassword $ true | 新项目c:\ home \ $ _。un-type directory} 除了主文件夹的新项目创build之外,一切都似乎正在工作。 -homedirectory和-homedrive命令可以正常工作,并且可以在用户configuration文件中正确命名和映射,但是当我尝试在驱动器上创build实际的文件夹时,它会创build一个名为$ _。un的文件夹,然后为对象抛出错误已经存在。 我已经尝试了'c:\ […]

在远程计算机上列出的服务将我locking在机器外面

我运行一个powershell命令列出远程匹配的所有服务: $b = 0; get-wmiobject win32_service -computer $computerName -credential $cred | select-object Name, @{n='Counter';e={$script:b+=1;$b}} | % "{0}: {1}" -f $_.Counter, $_.Name } 这是我第一次运行它。 有时候它是第二次。 然后,它会停止工作中途访问被拒绝错误。 然后我发现我的帐户被locking在远程机器上。 我把帐户解锁,几次运行脚本,然后我被locking了。 WTF? 为什么使用WMI访问远程计算机会locking机器上的帐户? 我怎样才能阻止它发生? 支持信息 我使用机器本地帐户的名称和密码来查询远程机器。 我没有使用域帐户。 远程计算机正在运行Windows Server 2008 R2。 通过“停止部分path”我的意思是,它打印出约20的服务,然后得到错误。 经过更多的调查 这可能是由我的特定configuration公开的Windows中的exception(或彻底的错误): 我有一个域帐号COMPANY_DOMAIN \ ashepherd 远程服务器有一个本地帐户SERVER_NAME \ ashepherd 我使用域帐户login到我的客户端机器,但尝试使用它的本地帐户访问服务器。 这两个帐户具有相同的帐户名称,但恰好有不同的密码。 作为一个实验,我修改了SERVER_NAME \ ashepherd,所以两个帐户都有相同的密码。 现在一切正常,没有任何停工。 为了获得证书,我正在input $cred = […]

如何才能在特定设备上find虚拟机的文件系统使用情况?

我想查找VM文件系统的使用情况,但只能在特定设备上具有vmdk的VM上使用。 VM主机可以有多个设备的存储,例如EMC和IBM设备。 我只想知道在IBM设备上具有存储的虚拟机使用的空间量。 我正在尝试使用powercli来查找这些信息,但我不能将这些信息“捆绑”在一起。 我不是VMWarepipe理员,所以我很难find相关性(如果我的术语不正确,对此感到抱歉)。 我只能用以下命令findIBM磁盘: Get-VMHost <host> | Get-VMHostHba -type FibreChannel | Get-ScsiLun -CanonicalName eui* -LunType disk 我也可以通过以下方式获取文件系统的使用情况: $AllVMs = Get-VMHost <host> | Get-VM ForEach ($VM in $AllVMs) { $Views = $VM | Get-View ForEach ($View in $Views) { Foreach ($Disk in $View.Guest.Disk) { $disk.DiskPath ([math]::Round($disk.Capacity/ 1MB)) ([math]::Round($disk.FreeSpace / 1MB)) } } } 但是,如何确保host1上的c:\位于IBMarrays上,而不是EMCarrays上?

networking文件的pipe理员drivenet文件

简单的问题,你今天早上。 我正在命令提示符中使用net file命令获取连接的用户到驱动器(F)。 我想知道如何才能获得相同的信息,但是使用pipe理员连接(F $)。 这是可能的net file命令或我可以使用PowerShell来获取这些信息? 环境:Windows Server 2008 R2。 谢谢你的时间,祝你有美好的一天。

Certreq -retrieve找不到指定的CA.

我目前正在编写一个Powershell脚本,并遇到了一些障碍。 基本上,脚本使用certreq.exe和certutil.exe从我们的CA请求,批准和检索新证书。 到目前为止,我的请求和批准工作正常,但只要我试图检索新批准的证书,我得到一个“目录名称是无效的”指的是CA. 我为所有其他命令使用完全相同的-configstring,但在certreq.exe -retrieve调用中失败。 如果我删除它,它会提示我从列表中select正确的CA,其中只有一个。 我非常想避免这种情况,因为我试图自动更新450+证书,不得不坐在这里,点击每个button的button将有点击败整个点。 有人有主意吗? 谢谢。 更多信息: PowerShell脚本stream程如下: 创build.inf文件 运行certreq.exe -new使用生成的inf文件创build.req 使用生成的.req运行certreq.exe -submit 从-submit命令中捕获RequestID并将其传递给certutil.exe -Resubmit以批准它 使用捕获的RequestID运行certreq -retrieve,失败说明它找不到在certreq -submit和certutil -resubmit命令中使用的CA。

从远程计算机进行iis6静默安装

我试图通过PowerShell远程处理运行Windows 2003的远程计算机上安装iis6。 这似乎并不奏效。 当从本地机器运行时,相同的脚本工作正常。 我已经能够以类似的方式在Windows 2008服务器上安装iis7,但不适用于iis6 / windows 2003服务器。 当我search它的时候,我能find的一个合理的答案(尽pipe不是确定性的)是iis6无声安装popup了一个基于GUI的向导,不能在远程会话上工作。 这是正确的吗? 有没有解决方法?

Powershell SQL结果在hashtable回滚我只是需要的价值

我有以下脚本运行存储过程并返回一个值。 问题是它返回一个哈希表,并使用result.answer什么都不返回。 我怎样才能得到没有附加哈希表的价值? $SqlConnection = New-Object System.Data.SqlClient.SqlConnection $SqlConnection.ConnectionString = "Server=server;Database=AspDotNetStoreFront;Integrated Security=True" $SqlCmd = New-Object System.Data.SqlClient.SqlCommand $SqlCmd.CommandText = "exec dbo.[sp_ESC_CheckForOrderingIssues] 1" $SqlCmd.Connection = $SqlConnection $SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter $SqlAdapter.SelectCommand = $SqlCmd $DataSet = New-Object System.Data.DataSet $SqlAdapter.Fill($DataSet) $SqlConnection.Close() $Result = $DataSet.Tables[0] $Result If ($Result -eq 1 ) {PANIC} else {Dont Panic}

Get-ExchangeCertificate:“请求的密钥容器未find”

我的Exchange 2007服务器有一些证书问题。 我只知道如何使用cmdlet检查证书信息,但是我能够使用它们的范围有限。 当我运行以下命令时,我得到以下结果。 [PS] C:\WINDOWS\system32>Get-ExchangeCertificate Get-ExchangeCertificate : The requested key container was not found. At line:1 char:23 + Get-ExchangeCertificate <<<< 我知道我没有做错,因为我有另一台服务器,我可以使用它,我甚至可以键入命令。 我将如何解决这个问题?