Articles of PowerShell

如何安装Microsoft Exchange 2013与Microsoft Powershell DSC?

我们正在研究一个新的构build程序。 作为一个概念certificate,我想安装一个具有CAS和Hubangular色的Exchange 2013服务器。 我无法find如何做到这一点的文件。 有没有人试过这个? 我已经看到了Windows Serverangular色的例子,但不是产品特定angular色的例子(e..g,Exchange)。

无法识别PowerShell中项目的属性

在试图回答这个问题时,我碰到了一些曾经困扰我的东西,而我一直没能find答案。 以下脚本块将列出本地pipe理员组的所有成员的名称。 $group = [ADSI]"WinNT://./Administrators" @($group.Invoke("Members")) | foreach {$_.GetType().InvokeMember("Name", 'GetProperty', $null, $_, $null)} 但是它只会列出名称,而没有其他属性。 我相当确定,我可以提取其他Members属性,但我不明白我将如何去确定这些其他属性是什么。 我不一定需要知道该项目的附加属性,这更多的是如何去寻找它们的问题。 (我很抱歉,如果这有点含糊,我非常自我教导,而且我很清楚,我可能会吠叫错误的树和/或经常犯下可怕的错误。)

将Hyper-V .vhdx文件转换成用于xenserver导入的.vhd文件?

一个虚拟机被发送给我作为.vhdx而不是.vhd,我需要将其导入到支持.vhd而不是.vhdx的xenserver。 我看了下面的解决scheme: 通过Powershell转换VHD Hyper-V转换器 使用powershell的问题是,您需要安装Windows2012或Windows 8.1,但要安装Hyper-Vangular色才能获得适当的cmdlet。 我只能访问没有安装Hyper-Vangular色的Windows 2008r2和Windows 8.1。 我的其他select是尝试访问Hyper-V服务器,并使用powershell在远程服务器上运行convert-vhd命令,但我甚至不确定是否可以像这样运行powershell命令。 (即:在没有hyper-v cmdlet的远程服务器上运行hyper-v cmdlet。)

Powershell扫描networking连接的打印机

目前,我正在创build一个PS脚本来扫描networking,并检索所有find的Windows服务器上的所有Windows Server,其产品密钥,SQL Server产品密钥,CPU,RAM,networking共享和服务。 基本上这是在我们公司购买一个新的办公室/其他公司时把networking合并到我们的网站之前编制一个网站评估信息清单。 到目前为止,我已经能够让所有这部分工作相当整洁,信息被推送到.txt或.csv文件。 我想收集的信息中唯一缺less的主要部分是networking打印机。 到目前为止,我能find的最接近的方法是返回networking上的uPNP设备,但不返回所有打印机。 目前唯一返回的是理光多function一体机,而且我们也在networking上同时使用了惠普和其他打印机。 我的问题是,如果Powershell中有方法或函数来检索networking上打印机的IP,Make和Model? 目前,该脚本以networking用户input的forms扫描XXX0,并以IP为基础(通过循环和计数器)检索信息,最多为XXX254,所以如果方法/ cmdlet是IP /主机特定的,那就很好。 除了从打印服务器获取本地打印机或打印机之外,我还没有发现任何使用PS检索打印机信息的情况,而且我们处理的大多数公司都没有打印服务器。 提前感谢。

Windows 2008 Server R2命令提示符/ Power Shell慢速滚动

我遇到了使用命令行或Power Shell非常慢地滚动的各种Windows 2008 Server R2机器的问题。 例如,如果我input“dir”,我会看到我的内容每隔1秒显示一行一行。 这怎么能纠正?

我可以在非AD独立服务器上使用GroupPolicy PowerShell模块吗?

我正尝试使用GroupPolicy PowerShell模块来操作和读取独立 Windows 2012R2服务器上的本地组策略设置。 当我尝试执行Get-GPOReport cmdlet时: Get-GPOReport -All -ReportType Xml 我得到以下错误: Get-GPOReport:当前安全上下文不与Active Directory域或林关联。 在行:1 char:1 + Get-GPOReport -ReportType Xml -all + ~~~~~~~~~~~~~~~ + CategoryInfo:NotSpecified:(:) [Get-GPOReport],ActiveDirectoryOperationException + FullyQualifiedErrorId:System.DirectoryServices.ActiveDirectory.ActiveDirectoryOperationException,Microsoft.GroupPolicy.Commands.GetGpoReportCommand 我也试着指定我的服务器名称: Get-GPOReport -ReportType Xml -all -server devserver01 但是我得到同样的错误。 我以Administrator身份login到此服务器上,同时运行这些命令。 我还安装了组策略pipe理控制台,这是一个先决条件 。 错误消息: 当前安全上下文不与Active Directory域或林相关联。 build议我应该以域用户身份login,但正如我所提到的,这是一个独立的服务器,不是AD域的一部分。 是不是可以在独立服务器上使用GroupPolicy模块cmdlet?

如何为常规AD用户设置“CustomAttribute6”?

我试图在Powershell中设置AD属性6来更新没有邮箱的用户,而不是交换联系人; 并且只是一个AD用户ObjectClass : user 我正在使用的命令是: get-adobject -filter {mail -eq "[email protected]" } | set-adobject -replace @{CustomAttribute6="[email protected]" } 我得到的错误是 Set-ADObject : The specified directory service attribute or value does not exis t Parameter name: CustomAttribute6 At line:1 char:75 + get-adobject -filter {mail -eq "[email protected]" } | set-adobject << << -replace @{CustomAttribute6="[email protected]" } + CategoryInfo : InvalidArgument: (CN=k\, […]

从较新的Powershell版本导入模块

我问自己是否可以从较新的Windows版本导入PowerShell模块。 Windows 8和8.1中的*-NetAdapter CMDLets相当不错,所以我也想在Windows 7中使用它们。 不幸的是,他们需要PowerShell 4.0。 我设法升级我的本地PowerShell,发现它不包括CMDlets。 我在Windows 8上find了该模块的位置,并将其复制到我的Windows 7机器上。 当我尝试在Windows 7上使用Get-NetAdapter时,出现错误。 错误如下: Get-NetAdapter : invalid namespace Get-NetAdapter ~~~~~~~~~~~~~~ + CategoryInfo : MetadataError: (MSFT_NetAdapter:ROOT/StandardCim v2/MSFT_NetAdapter) [Get-NetAdapter], CimException + FullyQualifiedErrorId : HRESULT 0x8004100e,Get-NetAdapter 有没有办法让Windows 8 / Server 2012中的这个或其他更新的CMDLets在Windows 7 / Server 2008上可用?

用CSV导入用户到AD,无法获得一些字段的工作

一直试图build立一个CSV文件来将用户导入Active Directory。 除了电子邮件,密码和启用用户之外,我可以填充所有内容。 在Powershell中使用此cmdlet。 Import-CSV "C:\Users\Administrator\Downloads\adimport.csv" | new-ADUser 这是我的CSV看起来像。 CSV文件 出于某种原因,常规选项卡中的电子邮件字段将不会填写。 我也不确定使用什么列标题来启用configuration文件,我认为密码是userPassword,对不对? 有没有什么我做错了,电子邮件字段不会填写?

通过向WinRMRemoteWMIUsers添加用户来实现Powershell Remoting安全性

在我们目前的工作stream程中,我们必须将RDP分配给多台服务器,以确定服务是否正常运行。 我们没有这些服务器的pipe理权限 ,但可以查看,启动和停止服务。 我们想用Powershell Remoting代替。 就像是 (1..8)|%{gsv -c "server$($_" -n "*ourservice*"} 做起来既容易又快捷。 我正确的是通过将我们的用户添加到WinRMRemoteWMIUsers组中 我们可以执行命令(我们关心的) 。 我们无法通过RDP (安全pipe理的担忧)对现在无法做到的系统做任何事情。 编辑 从Powershell Remoting的Secrects提取摘录似乎增加了安全问题 powershellorg·PowerShell远程处理的秘密 PowerShell和Remoting都不是恶意软件的“后门” 这是一个重大的误解。 请记住,默认情况下,PowerShell不会执行脚本。 当它这样做时,它只能执行执行用户有权运行的命令 – 它不会在超级特权帐户下执行任何操作,并且不会绕过现有权限和安全性。 和 底线:因为它的工作方式,PowerShell远程处理不允许任何用户,无论是否授权,通过十几种其他手段