Articles of PowerShell

无法展开文件夹

Boss想要访问所有员工邮箱(31个用户)。 我已经通过PowerShell为每个邮箱添加了完整的访问权限: Add-MailboxPermission -Identity "STAFF" -User" "BOSS" -AccessRights FullAccess 所有邮箱都出现在老板的前景。 几个邮箱不会扩展,并提供以下错误: Your server administrator has limited the number of items you can open simultaneously. Try closing messages you have opened or removing attachments and images from unsent messages you are composing. 即使在没有其他邮箱展开的情况下,该错误仍会出现,并且始终是发生错误的相同邮箱(用户邮箱)。 (Outlook 2013 w / Exchange 2013,远程桌面环境,邮箱都在同一个数据库上)。

如何在我的林中获取广告域名

我有一个拥有许多AD域的大森林,并经常添加新的域名。 我需要这些广告域的列表来查询每个DC。

Wevtutil相当于PowerShell脚本来获取事件日志

我已经做了一个PowerShell脚本,如下所示,但因为我将无法保存在.evtx格式。 我想要的wevtutil等效(使用wevtutil epl)的相同。请帮助! $ErrorTime=Get-WinEvent -FilterHashtable @{ Logname = 'Application' ID = 1000 ProviderName = 'Application Error' } -MaxEvents 1 | select Select-Object -Expand TimeCreated $Start_Time = ($ErrorTime).addhours(-2) $End_Time = ($ErrorTime).addhours(2) Get-WinEvent -FilterHashtable @{ Logname='Application','System','Security' 'Setup' StartTime=$Start_Time EndTime =$End_Time} 只是想告诉脚本在做什么。 它正在获取最后发生的应用程序错误1000的时间戳,对该时间戳添加和减去两个小时,然后查询这些时间之间的应用程序系统安全性和设置。 我需要这样的东西 wevtutil epl应用程序所在的时间> = $ Start_Time和时间<= $ End_Time 请帮忙。

通过PowerShellconfigurationIIS 7 SMTP设置

我需要修改可以通过IIS中的SMTP虚拟服务器进行中继的IP地址列表。 我一直在尝试处理哪些cmdlet,并在我的脚本中使用,但是我挣扎了一下。 具体来说,我正在修改可以通过我的服务器中继的IP地址列表。 我应该看看这个或其他什么的IISpipe理Cmdlet ? 任何例子都很乐意接受。

远程更改本地组策略服务器2008R2

我试图find一种方法,我可以远程编辑本地组策略下的“可信主机”列表。 本地组策略中的path为:\本地计算机策略\计算机configuration\pipe理模板\ windows组件\ windows远程pipe理(WindRM)\ WinRM客户端\可信主机 我可以这样做打开本地组策略编辑器:gpedit.msc / gpcomputer:[远程机器的IP]从那里我可以添加额外的可信任的主机,但我正在寻找一种方法,我可以使用Powershell或批处理自动完成100台服务器来做到这一点。 我连接的服务器已经在所有客户端服务器的可信主机列表中 – 我需要添加第二个。 到目前为止,我已经尝试了一些方法:set-item wsman:[client-IP] \ Client \ TrustedHosts -value [trusted-IP] set-item wsman:\ [client-IP] \ Client \ TrustedHosts -value [trusted-IP] set-item \ [client-IP] \ wsman \ Client \ TrustedHosts -value [trusted-IP] 这两者都不起作用 – 我实际上找不到任何关于远程使用“wsman”的文档,因此我甚至不知道我的path是否正确。 如果远程执行此操作不可能有人知道如何使用batch file编辑本地组策略(上述受信任主机的path),因为我可以将batch file推送到所有服务器,并让计划任务执行它。 感谢您提供任何帮助。 编辑:我发现,由于这是以前在本地组策略而不是通过WINRM设置,我无法使用WSMAN编辑此列表 – 即使是本地。 我需要能够远程编辑本地组策略,目前我唯一能想到的就是写一个batch file,这个batch file可以为我更新本地组策略,把它推送到所有的客户端服务器,并将一个预定的任务设置为运行batch file。 然而,我不知道如何从批处理编辑本地组策略 – […]

将Azure资源组中的公共IP关联到Web应用程序?

我在玩Azure资源组。 我创build了一个组,并在其中创build了一个Web应用程序。 (这一切都只是学术,当我完成学习的时候我会把它全部删除,所以我不介意共享这些数据。)这个networking应用程序位于http://woodswild.azurewebsites.net ,事实上,可以去那个地址,它会解决(虽然没有什么,现在是好的)。 然后,在同一资源组中,我也创build了一个静态的公共IP地址。 这一切看起来不错(我想,无论如何)。 但在门户网站用户界面中,我看到这个IP与任何东西都没有关联: Aaannndd ….我很难找出如何做到这一点。 我使用以下命令从Azure PowerShell创build公用IP: New-AzureRmPublicIpAddress -AllocationMethod Static -ResourceGroupName TestRG1 -ReverseFqdn woodswild.centralus.cloudapp.azure.com -Name woodswild.azurewebsites.net -Location "Central US" -DomainNameLabel woodswild 根据这篇解释New-AzureRmPublicIpAddress命令的文章 ,没有参数来声明关联。 我没有看到在门户界面中做到这一点,我找不到任何通过谷歌的答案。 我希望/想知道/假设的是,一旦build立了这种联系,就可以将IP地址放在浏览器中,并且可以parsing到与http://woodswild.azurewebsites.net相同的地方。 有任何想法吗? 谢谢!!

Powershell命令在本地PS提示符下工作,但不在远程PS提示符下

我刚刚开始使用PS Remoting来pipe理服务器,但遇到了麻烦。 当我在本地服务器命令行,我可以运行一个像 Get-DfsReplicationGroup 并提示返回我的DFS复制组列表。 但是,当我在一个远程PSSession到同一台服务器,并运行相同的命令,我收到一个错误 Value cannot be null. Parameter name: args + CategoryInfo : NotSpecified: (:) [Get-DfsReplicationGroup], ArgumentNullException + FullyQualifiedErrorId : System.ArgumentNullException,Microsoft.DistributedFileSystemReplication.Commands.GetDfsR eplicationGroupCommand 我试过不仅从Windows 10进入远程会话,还从另一台安装了相同angular色的Server 2012 R2计算机进入远程会话。 看起来不知怎的,这个命令的运行方式有所不同,具体取决于它的来源。 远程会话似乎正在为其他命令(我可以改变目录,创build和删除文件好)。 我通过以下方式设置了远程PSSession: $cred = Get-Credential Enter-PSSession Server1 -Credential $cred 我在远程会话设置中丢失了什么?

clamav:无法从Windows上的文件列表中扫描?

salt win8 grains.item osfullname win8: ———- osfullname: Microsoft Windows 8.1 Enterprise Evaluation salt win8 cmd.run shell='powershell' '& "C:\\Program Files\\ClamAV-x64\clamdscan.exe" -V' win8: ClamAV 0.98.7/21375/Tue Feb 16 05:36:54 2016 clamd在Ubuntu VM上运行。 这是Windows客户端(networking模式)上的configuration: TCPAddr <clamd.server.ip.address> TCPSocket 3310 User Administrator 我想通过使用像这样的东西只扫描最后24小时的文件: salt win8 cmd.run shell='powershell' 'Get-ChildItem "C:\\Program Files\\ClamAV-x64" -Recurse | Where-Object { $_.LastWriteTime -gt (Get-Date).AddDays(-1) } | % { […]

如何延长对Windows服务器运行的长时间剧本的超时值?

我有Ansible的手册,可以传输文件到Windows服务器。 我有Ansible可以运行小PowerShell脚本的剧本。 但是我无法获得一个Ansible手册来运行长时间运行的PowerShell脚本。 该剧本说,它是成功的,当我在Ansible Linux服务器上运行它。 没有迹象表明失败。 这个PowerShell脚本安装一个.exe等等。 运行需要20分钟。 为Ansable操作手册创build长时间超时的技巧有什么妙处,可以在Windows受pipe节点上启动长时间的PowerShell脚本? 为了启动剧本,我使用剧本中的“原始”节。 我尝试了命令模块,但是对于开源的Ansible 1.9,这个模块是不可用的。 我知道这PowerShell脚本的作品,因为当我手动运行,一切都很好。 我没有使用Kerberos进行身份validation。 在清单文件(ansible_ssh_user)中configuration的Ansible用户是Windows 2012服务器上的Administrators组的成员。 我用来手动成功启动PowerShell脚本的帐户是本地pipe理员帐户。 我怀疑这个问题很长。 短时间的脚本运行良好Ansible剧本。

创build邮箱交换时延迟

我一直在为一些没有自己的邮箱的现有用户创build邮箱,所以我写了一些脚本让自己更容易。 下面的相关摘录。 $exchange = New-PSSession -ConfigurationName microsoft.exchange -ConnectionUri http://exchangesvr/powershell $newMailbox = Invoke-Command -Session $exchange -ScriptBlock{param ($mailbox,$alias)Enable-Mailbox -Identity $mailbox -Database "userdb" -Alias $alias} -ArgumentList $user, $first_last $mailMessageParameters = @{ From = "helpdesk@company" To = $email_address Subject = "Welcome to your new Mailbox!" SmtpServer = "exchangesvr" Body = $emailBody } Send-MailMessage @mailMessageParameters -BodyAsHtml 这个问题虽然有一半的时间,我发送邮件时反弹回来 – 我假设问题是地址查找正在我们的Exchange群集邮箱还没有复制到另一台服务器上发生。 我已经尝试指定一个CAS服务器和集线器传输的创build/邮件,但它似乎没有什么差别。 […]