Articles of PowerShell

创build第2代虚拟机时,在New-VM中“尝试访问对象时出错”

我有一个非常晦涩的错误:如果我尝试用PowerShell创build一个gen 2 (gen 1正常工作)虚拟机,它会出错。 使用Hyper-Vpipe理器远程创build它可以正常工作。 环境详细信息:Windows Server 2016核心数据中心 导致问题的脚本: # New-LabVM param( [Parameter(Mandatory=$true)] [string]$Name, [long]$MemoryBytes = 1536MB, [long]$VHDSize = 20GB, [int]$VlanID = 100, [int]$Cores = 4 ) $vhdbasepath = 'V:\VHDs' $vm = New-VM -Name $Name -MemoryStartupBytes $MemoryBytes -BootDevice NetworkAdapter -SwitchName Main -Generation 2 -NewVHDPath (Join-Path $vhdbasepath "${Name}.vhdx") -NewVHDSizeBytes $VHDSize 错误信息: New-VM:Hyper-V在尝试访问计算机“LF-HV02”上的对象时遇到错误,因为找不到对象。 该对象可能已被删除,或者您可能没有执行任务的权限。 validation计算机上的虚拟机pipe理服务正在运行。 如果服务正在运行,请尝试使用以pipe理员身份运行再次执行任务。 我以内置的pipe理员身份login,因此可以将这种可能性排除在外。

在PowerShell v5.0 +中加载由Install-Package安装的nuget软件包

在Powershell v5.1中…如果我使用这个命令安装.NET NuGet包(例如: redmine-api ): Install-Package redmine-api 那么如何从该包中创build一个用于Powershell的新对象? 我试过了: Add-Type -AssemblyName Redmine.Net.Api # OUTPUT: Add-Type : Cannot add type. The assembly 'Redmine.Net.Api' could not be found. [reflection.assembly]::LoadWithPartialName("Redmine.Net.Api") # OUTPUT: (no ouput) $rdm = New-Object Redmine.Net.Api # OUTPUT: New-Object : Cannot find type [Redmine.Net.Api]: verify that the assembly containing this type is loaded.

检查话筒电平并通过脚本进行相应更改

我试图检查客户端工作站上的现有卷是什么,并设置为x(比方说x = 16.5)。 我想通过使用nircmd的cli来设置音量。 具体来说: nircmd.exe setsysvolume 16麦克风 现在,我无法检查现有的麦克风级别,因为它在我的客户机器上一直在波动。 所以,我正在寻找一种方法来检查麦克风级别是否设置为16.5,然后将其更改为此。 背景:我需要将我所有的工作站都设置为16.5。 它有基于麦克风types和其他因素改变的趋势。 任何build议或更好的想法做到这一点?

New-CMSoftwareUpdateDeploymentPackage的文档在哪里?

我一直在searchMS的网站上search他们的MSDN或technet页面上的这个cmdlet,并找不到它。 Google一直希望指向Get cmdlet。 我使用MS链接获取: https://docs.microsoft.com/en-us/powershell/sccm/configurationmanager/vlatest/get-cmsoftwareupdatedeploymentpackage 并试图使用: https://docs.microsoft.com/en-us/powershell/sccm/configurationmanager/vlatest/new-cmsoftwareupdatedeploymentpackage 但是失败了。 此cmdlet显示在ConfigurationModule中,并且由于服务器所在的位置,我无法使用Update-Help。 在帮助中也没有“链接”部分指向technet文章。 任何人都知道MS文档在这里?

Get-ACL Set-ACL删除inheritance的组

我正在尝试为这样的组设置文件夹权限: \服务器\共享$ \ Folder1中\文件夹2 遍历Share $ – >遍历文件夹1 – >修改文件夹2 共享中有更多的文件夹,但该组不应该获得任何访问权限。 这就是为什么我为$ AccessRuleTraverse中的inheritance和传播标志设置“无”,“无”。 $AccessRuleModify = New-Object System.Security.AccessControl.FileSystemAccessRule("TestGroup","Modify","ContainerInherit, ObjectInherit","None","Allow") $AccessRuleTraverse = New-Object System.Security.AccessControl.FileSystemAccessRule("TestGroup","Traverse,ListDirectory","None","None","Allow") $ACL = Get-Acl $Share $ACL.AddAccessRule($AccessRuleTraverse) $ACL | Format-List Set-Acl -Path $Share $ACL $ACLFolder1 = Get-Acl $Folder1 $ACLFolder1.AddAccessRule($AccessRuleTraverse) $ACL | Format-List Set-Acl -Path $Folder1 $ACLFolder1 $ACLFolder2 = Get-Acl $Folder2 $ACLFolder2.AddAccessRule($AccessRuleModify) $ACL | Format-List Set-Acl […]

获取与边界组关联的SCCM站点系统服务器

我想使用Powershell获取与SSCM中边界组关联的站点系统服务器。 有一个命令行Get-CMDistributionPoint但是没有参数来指定一个边界组。

Netsh跟踪与PEF跟踪cmdlet vs NetEvent cmdlet

我正在捕获我的networkingstream量,并遇到两个不同的MS命令行工具,允许这样做: 一个着名的netsh工具,最近装备了强大的捕捉开关 与MS消息分析器一起发运的一个全新的PEF框架 。 MS Analyzer是一个覆盖我所有的stream量分析需求的工具,但它有一个缺点: 资源非常贪婪 。 所以我决定在日常的工作中切换到命令行工具,来到上面两个选项。 正如它在PS PEF cmdlet文档中所述, PEF命令主要遵循消息分析器function,这使得它非常强大和可configuration。 但是, netsh跟踪捕获也有非常扩展的语法,我坚持select正确的工具。 亲爱的pipe理大师们,有没有人有这两种工具的经验,并可以就这个问题提供合理的build议: PEF命令是否与Message Analyzer具有完全相同的function? 如果是这样,使用netsh比PEF有什么优势吗? 性能? 两者都有什么限制? UPD:现在唯一的区别是我能够find它们之间的netsh跟踪不支持IP子网规范(在CIDR或其他),就是这样。 我没有看到其他的区别:他们都支持相同的filter,相同的提供者(包括ETW)等等。 UPD2:我也刚刚发现networking事件包捕获cmdlet ,看起来他们完全一样。 完全混淆了现在((

如何通过PowerShell获得邮件用户的用户名

使用Powershell,如果我不知道它在哪个域,我怎么能得到一个帐户的用户ID? 例如,我有一个名为b.newhart的邮件用户帐户,我可以使用get-recipient命令将其作为-identity获取信息。 但是我需要知道具有附加域名的UserID,例如, [email protected] 。 这是您可以在Exchange Online的pipe理面板中看到的UserID 。 我需要UserID的原因是我可以在该帐户上使用Set-MsolUserPassword 。 要使用这个命令,我需要指定-UserPrincipalName ,它是UserID 。 对于完整的o365帐户(邮件),我只能使用身份,但对于邮件用户帐户,我需要使用域名的UserID名,而不仅仅是身份。 我们有很多来自不同领域的邮件用户,用户名都是标准化的首字母+姓氏。 所以如果我能够通过知道他们的身份来重置他们的密码,那么这将是美好的。 那么,我怎样才能得到一个邮件用户帐户的用户名? 或者如何在不知道域名的情况下重置邮件用户帐户的密码?

使用Powershell设置GPO计算机configuration

我想用Powershell在GPO的计算机configuration中设置本地用户和组。 目标是创build和更新以下结构。 目前,我在Windows Server 2012 R2上使用PowerShell版本4。 Technet的组策略Cmdlet文档不是很有帮助。 https://technet.microsoft.com/en-us/library/ee461027.aspx 有什么办法可以用Powershell来实现吗?

Windows 10上的组策略中缺lessPowershell Set / Get-GPPermission

最近从Windows 7企业更新到Windows 10企业,并去运行一个脚本,调用Get-GPPermision,它错误地错过了命令。 编辑:设置GPPermission也缺less。 检查组策略cmdlet中的命令显示是否丢失: PS C:\WINDOWS\system32> get-command -Module grouppolicy CommandType Name Version Source ———– —- ——- —— Cmdlet Backup-GPO 1.0.0.0 GroupPolicy Cmdlet Copy-GPO 1.0.0.0 GroupPolicy Cmdlet Get-GPInheritance 1.0.0.0 GroupPolicy Cmdlet Get-GPO 1.0.0.0 GroupPolicy Cmdlet Get-GPOReport 1.0.0.0 GroupPolicy Cmdlet Get-GPPrefRegistryValue 1.0.0.0 GroupPolicy Cmdlet Get-GPRegistryValue 1.0.0.0 GroupPolicy Cmdlet Get-GPResultantSetOfPolicy 1.0.0.0 GroupPolicy Cmdlet Get-GPStarterGPO 1.0.0.0 GroupPolicy Cmdlet […]