Articles of PowerShell

如何删除事件源窗口2008年

我想在Windows 2008中删除一个事件源。 我不想删除日志事件,只是源。 我怎么做? 我没有find任何命令我PowerShell这样做。 PS > gcm *EventLog -CommandType cmdlet CommandType Name Definition ———– —- ———- Cmdlet Clear-EventLog Clear-EventLog [-LogName] <String[]> [[-Computer… Cmdlet Get-EventLog Get-EventLog [-LogName] <String> [[-InstanceId] … Cmdlet Limit-EventLog Limit-EventLog [-LogName] <String[]> [-ComputerN… Cmdlet New-EventLog New-EventLog [-LogName] <String> [-Source] <Stri… Cmdlet Remove-EventLog Remove-EventLog [-LogName] <String[]> [[-Compute… Cmdlet Show-EventLog Show-EventLog [[-ComputerName] <String>] [-Verbo… […]

单击确定以修改域上的HKLM \ Software \ Policies和HKCU \ SOFTWARE \ Policies?

背景: 我有一个域(2003年function级)与Windows XP和Windows 7客户端的混合。 我们一直在使用组策略来pipe理我们的工作站。 现在,我需要根据一些复杂的逻辑来应用不同的GPO 策略 ( 不是首选项)。 我可能能够创build多个GPO并执行安全/ WMI过滤,但会变得混乱。 脚本将是一个更清洁的方法(特别是PowerShell)。 我想做的事: 我想使用启动脚本来启用GPO策略。 看来我的login脚本可以编辑HKEY_LOCAL_MACHINE \ SOFTWARE \ Policies和HKEY_CURRENT_USER \ SOFTWARE \ Policies的内容。 这些registry项是有据可查的 ,设置它们是非常简单的。 我已经看到很多人在网上做这个事情,但是我想在做这件事之前确定这是一个理智的想法。 个人电脑仍然会join到这个领域,而且还会有一些GPO出现(至less是默认域策略)。 所以,与现行政策的冲突是可能的。 我期待以下将会发生: 如果GPO中的策略项目是“未configuration”,则不存在冲突。 我的启动脚本中的registry值将被写入,策略将生效。 如果政策项目在GPO中设置为已禁用/已启用,则会与我的脚本冲突。 脚本可能在启动时“获胜”,但在后台刷新时会被覆盖。 那么,我的理解是否正确? 这是一件好事吗?

嵌套来自不同文件的PowerShell DSCconfiguration

如果我像这样在一个文件中嵌套DSCconfiguration,它工作正常: Configuration Secondary { Param ($SomeParameter) Environment Test { Name = $SomeParameter Value = "12345" } } Configuration MyConfiguration { Node localhost { Secondary TheSecondary { SomeParameter = "TestEnvVar" } } } MyConfiguration Start-DscConfiguration .\MyConfiguration -Wait -Verbose 我想将我的configuration分成两个单独的文件。 一个将点对点来包含configuration。 Secondary.ps1: Configuration Secondary { Param ($SomeParameter) Environment Test { Name = $SomeParameter Value = "12345" } […]

在MDT 2013中将PowerShell脚本作为应用程序运行

有没有办法使PowerShell脚本在应用程序列表下运行,以便在从MDT映像安装时,可以select要运行的脚本? 我可以像脚本一样运行脚本,但是我尝试过的所有脚本都不会执行。 这是我如何去做,但他们不执行。 (我链接到“任务序列”下的“安装应用程序”下的脚本。到目前为止,我已经得出结论,微软不允许PowerShell脚本以这种方式工作,没有一些严重的黑客攻击。 编辑: 所以在尝试了几种方法并进行研究之后,这就是我现在所拥有的: 我正在尝试这个: powershell -noexit "& "'\\SERVER.com\ImageDeploymentShare$\Scripts\script_tes_2t.ps1' 工作目录是: .\%SCRIPTROOT% 但是我得到这个: 我在technet上看到过这样的内容,但是这肯定是极端的? Filename RunPowerShell.cmd Powershell -Command Set-ExecutionPolicy Unrestricted Powershell.exe -file "%~dp0%1" Powershell -Command Set-ExecutionPolicy AllSigned Filename App1.ps1 Dir Execute this with [fulle_Path_if_needed\]RunPowerShell.cmd App1.ps1

解除分配的Azure虚拟机丢失IPv4 DNS地址

我每天晚上取消分配我的开发Azure虚拟机来保存我的信用。 我的虚拟机都使用域控制器在一个vnet上。 由于它位于子网上,所以域控制器地址永不改变。 每天当我启动我的虚拟机,我必须configuration我的networking适配器“使用下面的DNS服务器地址”为我的IPv4 DNS首选地址。 我想用启动时运行的脚本来自动执行此操作。 我可以使用以下设置: netsh interface ipv4 set dns "Local Area Connection 138" static 10.0.0.4 但是,这不会工作,因为每个启动本地连接号码增加。 我已经接近获得本地连接名称使用: wmic.exe nic where "NetConnectionStatus=2" get NetConnectionID 但是这将返回列标题,不能使用。 返回的值如下所示: NetConnectionID Local Area Connection 138 所以我的问题是如何在启动时设置dynamic本地连接的首选DNS地址?

如何使用PowerShell为特定用户清除Exchange邮件队列

最近,我的组织是垃圾邮件攻击的受害者。 可悲的是,一些用户提供了他们的电子邮件和密码 攻击者build立了一个长长的电子邮件队列(来自受害者帐户)。 我们必须手动删除所有消息(从队列查看器)。 这是非常痛苦的(超过10万封电子邮件…)。 是否可以使用PowerShell清除特定用户的电子邮件队列? (使用Active Directory模块) 发现这个旧的post ,但它看起来过时了,它删除所有的队列…

Get-AzureRmResourceGroup不从当前订阅返回资源

如果我跑 Get-AzureSubscription -Current 我得到: SubscriptionId : a*<guid> SubscriptionName : Development Environment : AzureCloud DefaultAccount : t*<guid> IsDefault : True IsCurrent : True TenantId : 4*<guid> 然后我运行: Get-AzureRmResourceGroup 根据门户网站的说法,这两个资源都没有被返回,其中应该有很多资源。 ResourceGroupName : Default-SQL-NorthCentralUS Location : northcentralus ProvisioningState : Succeeded Tags : ResourceId : /subscriptions/0*<guid>*e/resourceGroups/Default-SQL-NorthCentralUS ResourceGroupName : Default-Web-NorthCentralUS Location : northcentralus ProvisioningState : Succeeded Tags : ResourceId : […]

如何通过串行控制台电缆从PowerShell连接到Cisco交换机?

我实际上并不需要在交换机上执行任何操作。 我只需要validation它在那里。 我有一些远程服务器,我需要validation蓝色串行控制台电缆正确连接。 而不是RDC到他们每个人和复制/configuration腻子只是打了几次,我想使用“enter-pssession”远程连接到PowerShell和访问COM1的方式。 我试过使用这个,但没有得到控制台的反馈。 https://blogs.msdn.microsoft.com/powershell/2006/08/31/writing-and-reading-info-from-serial-ports/ 谢谢!

如何直接使用PowerShell对象属性,而不需要types转换和分割?

我已经创build了一个小的脚本,以将一个名为pssfulllocation的Active Directory pc属性的值从一台PC传输到另一台PC。 为了达到这个目标,我必须使用types转换+分割。 这是有效的脚本 $oldpc=read-host "Enter old pc name" $newpc=read-host "Enter new pc name" $my=Get-ADComputer -Identity $oldpc -Properties * | select pssfulllocation $itemcast=[string]$my $b = $itemcast.Split("=")[1] $c=$b.Split("}")[0] Set-ADComputer -identity $newpc -Replace @{pSSFullLocation="$c"} 和输出将很好地做预期的工作 ..以这种方式..这是所需的结果 .. 但是,如果我不使用types转换+分割按照下面的脚本 – $oldpc=read-host "Enter old pc name" $newpc=read-host "Enter new pc name" $my=Get-ADComputer -Identity $oldpc -Properties * | select […]

使用PowerShell卸载USB外部驱动器

我试图使用powershell卸下外部USB驱动器,我不能成功地做到这一点。 以下脚本是我使用的: #get the Win32Volume object representing the volume I wish to eject $drive = Get-WmiObject Win32_Volume -filter "DriveLetter = 'F:'" #call dismount on that object there by ejecting drive $drive.Dismount($Force , $Permanent) 然后检查我的电脑,检查驱动器是否卸下,但不是。 布尔参数$ force和$ permanent已经被尝试了不同的排列,没有用。 当params被切换时,由dismount命令返回的退出代码会改变。 (0,0) = exit code 0 (0,1) = exit code 2 (1,0) = exit code 0 (1,1) = […]