Articles of PowerShell

当通过Winrm查询WMI时,如何检索属性的数据types

Winrm允许我通过WS-MAN协议查询WMI而不是DCOM。 但是,在DCOM实现中,我可以检索我查询的各个类的各种属性的数据types。 但是,如果我使用winrm,我只需要返回值。 有什么办法来查询数据types? 例如c:> winrm enum wmicimv2 / * -dialect:wql -filter:“Select * FROM Win32_ComputerSystem” 会返回类似的东西 <wsman:Results xmlns:wsman="http://schemas.dmtf.org/wbem/wsman/1/wsman/results"> <p:Win32_ComputerSystem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_ComputerSystem" xmlns:cim="http://schemas.dmtf.org/wbem/wscim/1/common" xsi:type="p:Win32_ComputerSystem_Type" xml:lang="en-US"> <p:AdminPasswordStatus>3</p:AdminPasswordStatus> <p:AutomaticManagedPagefile>true</p:AutomaticManagedPagefile> <p:AutomaticResetBootOption>true</p:AutomaticResetBootOption> <p:AutomaticResetCapability>true</p:AutomaticResetCapability> <p:BootOptionOnLimit xsi:nil="true"/><p:BootOptionOnWatchDog xsi:nil="true"/> <p:BootROMSupported>true</p:BootROMSupported> <p:BootupState>Normal boot</p:BootupState> ….. 但是,正如您所看到的那样,数据types不在那里。 我知道数据types,因为这是一个标准的Win32对象。 模式是在线的,我可以静态地找出来。 但是,可能有自定义的类。 DCOM WMI方法允许我查询属性并找出更多关于它们的细节,比如它们的数据types,以及它们是否是数组。 我可以通过winrm / wsman做同样的事情吗? 我知道这可以通过PowerShell来完成。 我正在寻找winrm / wsman方法,而不是powershell 谢谢

如何加快应用模拟权限的变化?

我经常使用PowerShell( New-ManagementRoleAssignment –Name:impersonationAssignmentName –Role:ApplicationImpersonation –User: <account name> )在运行Exchange Server(2010,2013)的各种Windows服务器上添加模拟权限。 问题是,这些权限实际应用和工作需要永远。 有什么办法可以加快这个过程吗? 作为一种解决方法,我简单地重新启动机器,但是,虽然我可以在我的实验室中自由地做到这一点,但在生产环境中却无法承受这种奢侈。 我正在寻找像gpudate /force ,可以立即应用模仿权利的变化。

为什么$ job.LastRunOutCome总是“失败”?

我正在使用sqlps来运行备份作业“备份的东西”。 Set-Location "SQLSERVER:\sql\$hostname\default\jobserver\jobs" $job = Get-ChildItem | Where-Object {$_.Name -eq "Backup Something"} $job.Start() Start-Sleep 5 $job.LastRunDate $job.LastRunOutcome 问题是,即使作业正常并且SQL Management Studio确认备份作业正常,.LastRunOutcome始终返回“Failed”(失败)。 为什么?

ACL PS脚本 – 挂起在08 R2 PS v3; 在W8 PS v4上工作正常

这个脚本的目的是让应用程序的权限更容易一个新的服务器。 目前没有这样做:( 出于某种原因,在我的Win 8机器上工作得很好。 当我在目标机器上运行一个2008 R2服务器时,它只是挂在第一个目录上。 不知道PS版本之间的v3和V4之间太重要了 – 脚本是相当简单的: – Windows Server 2008 R2的框是PowerShell的V3 – Windows 8的框是PowerShell的V4 任何人都知道这可能是为什么? $csvFile = Read-Host "path to the CSV file with permissions" $csv = Import-Csv $csvFile Write-Host "Imported CSV File" function applyPermissions { Param( [string]$Permission, [string]$Group, [string]$Dir, [bool]$Enclosed ) if ($Enclosed) { $rule = New-Object System.Security.AccessControl.FileSystemAccessRule($Group,$Permission,"ObjectInherit, ContainerInherit","None","Allow") $Dir = […]

远程编辑winrm conf文件

我试图编辑远程计算机上的winrm conf文件。 我没有可能使用GPO编辑,所以我必须find另一种方式。 我已经尝试使用“winrm set winrm / config / winrs”命令设置我需要的configuration,该命令在本地正常工作,但远程失败,我使用:“Invoke-Command -ComputerName COMPUTER -ScriptBlock {COMMAND}”在使用winrm时改变winrm conf是相当有问题的。 请问你有其他build议吗?

debuggingpowershell init

我的问题是,我刚刚重新安装我的系统,并通过巧克力装了一堆包。 然而,现在当我启动powershell时,控制台内最简单的types和大小改变为栅格和16pt(巨大和丑陋),即使我的控制台默认是truetype和14pt。 即使我在Documents / PowerShell / …下有我的configuration文件,所有这些都会被注释掉,而且我使用“@powershell”或“powershell.exe”从常规控制台启动它。 任何人都可以告诉我如何去find这个问题? 正如我在运行的configuration文件脚本链中看到的那样,摆弄字体的东西就是poshgit安装,但正如我所说,即使我已经禁用了所有这些脚本(看起来),仍然会改变字体。 编辑:我发现,即使在虚拟机中干净的安装也是一样的。 那么如何在Powershell中设置字体呢? 我已经做了所有的事情,很多教程都说点击的方式,但它不是持久的。 任何人都可以帮我吗? 先谢谢你,玛蒂

Powershell和DfsrConfigurationFromAD – 如何检查所有的服务器更新?

我有两台使用DFS复制的Win2012R2服务器(SERVER1和SERVER2)来保持同步的文件夹。 使用我在SERVER1上运行的以下Powershell脚本,将它与组断开连接: Set-DfsrConnection -GroupName "Group1" -SourceComputerName "SERVER1" -DestinationComputerName "SERVER2" -DisableConnection $True; 要使用configuration更新两台服务器,请运行以下命令: Update-DfsrConfigurationFromAD -ComputerName "SERVER1","SERVER2" 现在的问题是,如何检查SERVER1 SERVER2已经从AD得到更新的信息,以便我可以确定连接已被禁用? 通常在Update-DfsrConfigurationFromAD命令运行之后,SERVER2上的DFSpipe理得到更新需要大约10-30秒,但是在我的代码中需要某种“检查和hibernate循环”。 我试过检查事件日志,并从PM-SERVER01使用Invoke-Command {Get-DfsrConnection},但似乎没有任何工作。

Hyper-V服务器中的2012 R2 Server Core VM上的RDS安装失败

我目前正在为我的公司基础架构更换安装一个testing平台。 10台左右的Windows / Linux服务器将被运行Hyper-V服务器的2台物理服务器所取代。 所有的服务(DC,RDS,SQL)都将在Windows 2012 R2服务器核心虚拟机上,Exchange Server 2012 R2 GUI上,其余的都是Elastix,MailArchiver等,这些都不属于目前的等式。 我在一个testing盒上安装了Hyper-V服务器,并且成功地运行了两个虚拟DC,运行SQL 2014,以及用于RSAT工具的8.1。 当试图安装RDS(老式的,而不是更新的VDI(?)风格)时,由于服务器无法重新引导而导致安装失败。 有几篇文章说不要在当地做,所以我继续前进。 使用PowerShell,我从RDS服务器的networking中的任何服务器运行以下命令: 导入模块RemoteDesktop 新会话部署-ConnectionBroker“AlstersTS.Alsters.local”-SessionHost“AlstersTS.Alsters.local” 安装开始,进行2或3分钟,然后我收到以下错误信息: New-SessionDeployment:“RD连接代理”参数的validation失败。 AlstersTS.Alsters.local无法使用WindowsPowerShell远程连接连接到服务器。 validation您可以连接到服务器。 在行:1 char:1 + NewSessionDeployment -ConnectionBroker“AlstersTS.Alsters.local”-SessionHost“… + + CategoryInfo:NotSpecified:(:) [Write-Error],WriteErrorException + FullyQualifiedErrorID:Microsoft.PowerShell.Commands.WriteErrorException新-SessionDeployment 到目前为止,我有: 三重,三重检查语法。 尝试了各种其他的命令和一个脚本来完成相同的任务。 选中的DNS正常运行。 据我所知,AD正在尽其所能地工作。 检查networking服务是否具有所需的权限。 创build另一个虚拟机并将这两个angular色放在不同的服务器上 删除所有的虚拟机,再次启动一个新的域名(泡沫,冲洗,重复) 在运行Hyper-V服务器的第二个物理盒子上执行整个安装 恳求它 有趣的是,如果我通过GUI安装来执行安装,那么这个东西就可以工作了! 现在我知道我可以在安装后将其转换为服务器核心angular色,但这并不能教会我第一个问题。 我可能通过各种Googlesearch获得了10个页面,每个页面的相关性都有所下降。 最接近的比赛似乎有很好的信息,但似乎不是我的设置的修复。 作为一个方面说明,我希望能够“发球”或“出文件”错误消息到一个文本文件,但不能得到这个工作,所以我已经手动input错误信息。 Chaps,有什么build议,从显而易见的,到啰嗦和复杂的? 谢谢!

尝试列出Web服务,Web站点和应用程序池 – Windows Server 2003

我很好奇我将如何列出Web服务,网站和应用程序池到Windows Server 2003计算机上的.txt文件。 我有Powershell 2.0configuration,并试图运行一些脚本,但似乎没有任何工作。 我试过了: iisweb /query 我得到一个错误说: – This script does not work with WScript – Would you like to register CScript as your default host for VBscript? – To run this script type: `"CScript.exe IIsCnfg.vbs[params]"` 我尝试使用CScript.exe IIsCnfg.vbs [params]“, but even that command fails and errors out to aninput错误:找不到脚本文件”C:\%SYSTEMROOT%\ system32 \ iiscnfg.vbs“ 任何人有任何Windows […]

如何使用cmdlet 2007获取邮箱过期date?

我想知道哪些cmdlet用于在Exchange Server 2007中查找邮箱的到期date。我有一个cmdlet,可以为Exchange Server 2013提供邮箱过期date。Exchange Server 2007是否有任何等效的cmdl可用?Exchange Server 2013的cmdlet Get-ADUser -Filter * –Properties Name, EmailAddress, AccountExpirationDate, GivenName | select Name, EmailAddress, AccountExpirationDate, GivenName | where{$_.AccountExpirationDate –ne $null}