Articles of PowerShell

如何从所有Exchange邮箱中删除辅助域的SMTP地址?

我有一个Exchange服务器,用于pipe理多个SMTP域; 现在只需要pipe理一个。 我已经从所有地址策略中删除了二级域名; 我需要删除引用它的所有SMTP地址。 所有用户都将其主SMTP地址设置为使用主域; 但几乎所有人都有使用二级域的另一个地址。 他们也有许多其他不同的地方:用于lync的SIP,以及从以前的迁移得到的一个或多个X500。 这些不应该被触及。 如何删除所有这些辅助SMTP地址而不影响其他内容?

Windows 8.1 Hyper-Vnetworking适配器设置为公共,不会另存为私有

我有一系列运行Hyper-V进行unit testing的Windows 8.1机器。 我们经常使用PowerShell来改变这些系统的脚本以简化我们的pipe理。 但是,我们在这些机器上启用PowerShell远程处理时遇到了麻烦。 我们在这些机器上运行以下命令来尝试使用PowerShell远程function 启用-PSRemoting -force 但是我们总是得到以下错误: WinRM防火墙例外将无法工作,因为此机器上的一种networking连接types设置为Public。 将networking连接types更改为Domain或Private,然后重试。 networking适​​配器如下: Name : Network 2 InterfaceAlias : vEthernet (Broadcom NetXtreme Gigabit Ethernet) InterfaceIndex : 13 NetworkCategory : Private IPv4Connectivity : Internet IPv6Connectivity : LocalNetwork Name : Unidentified network InterfaceAlias : vEthernet (Windows Phone Emulator Internal Switch) InterfaceIndex : 10 NetworkCategory : Public IPv4Connectivity : […]

如何从事件日志中报告的卷名识别WMI中的卷?

我有一个Windows 2008R2服务器报告以下错误: 磁盘上的文件系统结构已损坏且无法使用。 请在卷\ Device \ HarddiskVolume2上运行chkdsk实用程序。 使用Powershell和WMI如何在查询Win32_Volume时识别这是哪个卷。 例如,如果我这样做: Get-WmiObject Win32_Volume 我得到了服务器上所有卷的列表,但是没有一个Win32_Volume类属性使用(显示为)这个“友好的”名称 – \Device\HarddiskVolume2 。 我可以看到有一个DeviceID属性返回一个像这样的值: DeviceID : \\?\Volume{4bc3df2a-65c7-11e0-9c33-806e6f6e6963}\ 还有一个Name属性,但这只是分配给该卷的驱动器号。 没有其他属性的值与事件日志中报告的内容类似。 我知道我可以parsing来自fltmc volumes或DISKPART的输出以获取此信息,但是必须有一种方法可以在PowerShell脚本中使用WMI获取此信息。 我还查看了Win32_DiskDrive , Win32_DiskPartition和Win32_LogicalDisk类,但没有提及类似\Device\HarddiskVolume2的属性值。

用新证书自动重新configurationWinRM HTTPS侦听器?

我期望在服务器之间使用CredSSP来​​解决双跳问题时,在我们的所有服务器上启用WinRM HTTPS侦听器以保证安全通信。 设置这是好的 ,我们有来自内部CA的CN适当的证书,所以听众的初始设置是好的,并且工作良好。 这些证书唯一的有效期只有一年,所以一旦到期,我们需要重新configuration每台服务器上的侦听器,因为服务器证书的自动注册不会修改WinRMconfiguration中的证书指纹。 有没有人遇到这个问题很好的解决scheme?

将Exchangeconfiguration为忽略某些邮箱的阅读回执请求

我们有一个由Windows服务自动监控的Exchange(2010)邮箱,该服务使用Exchange Web Services 1.1定期连接到邮箱,并将电子邮件导入到SQL中 – 然后从邮箱中删除邮件。 但是,如果有人通过“请求已读回执”发送电子邮件地址 – 交换正在发送“此邮件已被删除而未被阅读”的消息给发件人 – 这是相当令人尴尬的(而且是误导性的)修改我们的服务,以某种方式“删除”之前删除消息 – 有什么办法来configuration交换(通过PowerShell或其他)来忽略读取收据的请求?

新ADUser ADException未指定

我运行这个powershell命令添加一个新用户时收到一个错误: PS > New-ADUser -Name "user1" -GivenName "test" -Surname "User" -Path "ou=Users" 运行时返回的错误是: CategoryInfo : NotSpecified: (CN=user1,ou=Users:String) [New-ADUser], ADException 如果我把“path”参数添加到用户,但不添加到OU。

Windows所需的状态configuration/ DSC:有一个简单的“平坦”的方式来使用它们?

这些文章都讨论了分期,包装和一堆基础设施方面的问题。 是否可以在本地运行脚本,或者(对于远程服务器而言)(更可取!)? 例如,基础设施免费,就像我现在可以运行ssh命令?

使用Get-ChildItem时出现PathTooLongException错误

我正尝试使用属性Archive和Offline生成文件共享上所有已知文件的列表。 但是我一直在PathTooLongException错误。 到目前为止,我只发现Robocopy可以处理文件长度错误,除了我不能获得相同types的“ 仅这些属性 ”类别的结果。 例: Get-ChildItem -Attributes A+O -Recurse |Export-Csv E:\temp\StubSearchCorp.csv 得到: Get-ChildItem : The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters. At line:1 char:1 + Get-ChildItem -Attributes A+O -Recurse |Export-Csv […]

Win32_OperatingSystem.FreePhysicalMemory和$ _。TotalVisibleMemory输出错误的单位

我一直在编写一个非常简单的脚本来监视我们的terminal服务器场的使用情况的一些方面,并实施一个部分,我在一个给定的时间点检查服务器上的内存使用情况。 以下是我正在使用的特定部分: <#Modified to troubleshoot this particular section; defined $TermSvr and pipe output directly to host:#> $RemoteSvr = "Win10Test" #Check current Memory Usage and Available Space $SysMem = Get-WmiObject Win32_OperatingSystem -ComputerName $RemoteSvr "$RemoteSvr has {0:#.0} GB free space out of {1:#.0} GB total available memory" -f ($SysMem.FreePhysicalMemory/1GB), ($SysMem.TotalVisibleMemorySize/1GB) | Write-Host 这输出: Win10Test has **.0** GB […]

使用get-wsuscomputer和-ComputerUpdateStatus

我在服务器2012R2盒子上安装了WSUS。 我正在尝试使用Get-WsusComputer powershell命令来获取具有挂起或失败更新的计算机列表。 该命令的文档似乎表明-ComputerUpdateStatus是正确的选项。 -ComputerUpdateStatus指定在WSUS控制台用户界面中表示的计算机更新状态。 这个参数的可接受值是:… 我遇到的问题是使用这个选项似乎没有任何区别。 当我在GUI中查看控制台时,大约有75%的系统处于“正常”状态,其中有一些已经脱机了一段时间,有些则出现故障,其余的则在需要的列中显示一两次更新。 PS D:\> get-wsuscomputer -ComputerTargetGroups Workstations | Measure-Object Count : 264 PS D:\> get-wsuscomputer -ComputerTargetGroups Workstations ` >> -ComputerUpdateStatus Failed | Measure-Object Count : 264 PS D:\> get-wsuscomputer -ComputerTargetGroups Workstations ` >> -ComputerUpdateStatus FailedOrNeeded | Measure-Object Count : 264 这个选项是否被破坏了? 还是我错过了一些明显的关于如何使用它?