作为系统构build自动化脚本(用于创buildAWS AMI)的一部分,我希望系统重新引导,然后运行其他引导后设置任务 – 但只能执行一次(以便系统成像时,然后图像用于启动一个新的实例,它不会再次运行启动后的设置任务)。 我开始实现这个的方式是,初始安装脚本(用Powershell编写)使用Register-ScheduleJob -Trigger (New-JobTrigger -AtStartup) … -Name PostBootSetup来设置在引导后立即运行的另一个Powershell脚本。 在启动后脚本中,我有: Get-JobTrigger -Name PostBootSetup | ?{$_.Enabled} | Disable-JobTrigger 但是当它运行时,我得到这个错误(我将所有的后启动脚本的输出logging到一个文件): Powershell : A scheduled job definition with Name PostBootSetup could not be found. 这很奇怪,因为那是当前正在运行的作业的输出。 我还添加了简单的调用Get-ScheduledJob和Get-JobTrigger -Name PostBootSetup应该输出相关的logging,但是这些绝对没有输出 – 即使我在机器启动后在Powershell控制台上运行这些命令,我得到了预期的产出。 运行时可能无法访问自己的计划作业logging吗? 如果是这样,是否有解决方法? 还是我错过了什么? 如果这不是一个一次性的开机后工作的好方法,你会build议什么? 作为进一步的说明,我不是很舒服的批处理,所以我会欣赏使用Powershell或.Net的解决scheme,或者比批处理更具performance力的东西。
目前我有一个PowerShell脚本挂钩到DPM的SQL后端,并查询未解决的警报列表。 在表tbl_AHP_Alerts有一个名为Type的字段。 此Type字段指的是触发警报的原因。 例如, Type 25对应于问题“恢复点失败” 我需要根据这个Type字段采取适当的行动。 有没有人知道哪里有一个这个领域的联系清单? 即其他数字代表什么?
我目前正在学习如何使用PowerShell资源pipe理cmdlet创buildazure色的环境。 经典的工作方式没有问题,我可以使用Add-AzureAccount ,它可以让我访问我的订阅。 但是,使用新的资源pipe理器cmdlet时,当我使用Add-AzureRmAccount我得到两个错误之一。 使用$Cred = Get-Credentials使用存储凭据,然后使用Add-AzureRmAccount -Credential $credlogin时,会收到以下错误: 访问ws元数据交换失败。 使用login提示时。 这意味着我只需inputAdd-AzureRmAccount ,它会将我转到我公司的SSO页面。 我在哪里login成功。 我得到以下错误: 发送请求时发生错误。 当我尝试从家中使用该cmdlet时,使用vpn连接到之前使用的同一台笔记本电脑。 我可以使用Add-AzureRmAccount并按照login提示完美连接。 使用存储的$cred entials仍然失败,元数据交换错误。 我假设存储的凭据方法失败,因为它不能redirect到没有交互式提示的SSO。 但是,我不确定什么可能导致交互式login失败,因为我可以清楚地到达SSO,并且Add-AzureAccount cmdlet在同一台计算机上工作。 Add-AzureAccount和Add-AzureRmAccount cmdlet有什么不同? 更新: 完整的堆栈跟踪错误是: Message : An error occurred while sending the request. Data : {} InnerException : System.Net.WebException: The remote server returned an error: (407) Proxy Authentication Required. at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult) […]
简短版本: 为什么Test-Connection报告“在数据库查找过程中出现不可恢复的错误”,以便在不同子网上的脱机主机上运行? 我使用PowerShell通过Test-Connection cmdlet来ping远程主机: $Computer = "COMPUTER01" Test-Connection -ComputerName $Computer -Count 3 我收到以下错误信息: System.Net.NetworkInformation.PingException: Testing connection to computer 'COMPUTER01' failed: A non-recoverable error occurred during a database lookup —> System.ComponentModel.Win32Exception: A non-recoverable error occurred during a database lookup. 我的DNS服务器都是运行DNS服务的Windows AD控制器。 我能够使用nslookup将主机名parsing为IP地址: Name: computer01.domain.com Address: 192.168.2.153 MS网站上说: 这是一个不可恢复的错误。 这表明在数据库查找期间发生了某种不可恢复的错误。 这可能是因为无法find数据库文件(例如,兼容BSD的HOSTS,SERVICES或PROTOCOLS文件),或者服务器返回了一个严重错误的DNS请求。 https://msdn.microsoft.com/en-us/library/windows/desktop/ms740668(v=vs.85).aspx 问题:什么“数据库查找”可能失败? 故障排除点 1 我试图ping相同的主机,这也失败,但有一个更熟悉的消息: C:\> […]
很多时候,我需要将只能从两个独立的PowerShell CMDLET中检索的数据合并到一个数据集中才能导出。 我相信这应该可以通过创build一个PSObject并在那里收集数据,然后从PSOBject中select数据并导出。 我想要做的一个例子。 这还不行。 $OU1 = 'Contoso.com/Contoso Service Accounts' $MBXStats = get-mailbox -OrganizationalUnit $OU1 | Get-MailboxStatistics $MBXDN = get-mailbox -OrganizationalUnit $OU1 | Select DistinguishedName $bucket = @() foreach ($MBX in $MBXStats){ $PropertyObj = New-Object psobject -Property @{ DisplayName = $MBXStats.DisplayName ItemCount = $MBXStats.ItemCount TotalItemSize = $MBXStats.TotalItemSize LastLogonTime = $MBXStats.LastLogonTime OriginatingServer = $MBXStats.OriginatingServer DistinguishedName = […]
我想将TestUsers组织单位的控制权委托给用户NickA并给予以下权限: Create, delete, and manage user accounts Reset user passwords and force password change at next logon Read all user information Create, delete and manage groups Modify the membership of a group 我发现的唯一的方法是以下,但我找不到正确的权限分配: $acc = Get-ADUser NickA $sid = new-object System.Security.Principal.SecurityIdentifier $acc.SID $guid = new-object Guid bf967aba-0de6-11d0-a285-00aa003049e2 $ou = Get-ADOrganizationalUnit -Identity TestUsers $acl = Get-ACL […]
我正在尝试使用packer.io构buildWindows AMI。 在powershell文件中,我已经运行以下命令作为供应步骤的最后一个命令: Write-Host "Running the EC2Config.exe file to sysprep the image for UserData to run on next boot." cmd.exe /c "C:\Program Files\Amazon\Ec2ConfigService\ec2config.exe" -sysprep 在我的打包器输出中,我看到以下文字: amazon-ebs: Running the EC2Config.exe file to sysprep the image for UserData to run on next boot. amazon-ebs: Running in foreground… amazon-ebs: SysprepUtils: Setting bundle/Sysprep operations for Vista/2008. amazon-ebs: SysprepUtils: Reading […]
我想开始阻止可能包含恶意内容的附件types。 我在网上遇到了以下PowerShell代码片段: New-TransportRule -Name 'Block All .ZIP Attachments' -Priority '0' -Enabled $true -AttachmentNameMatchesPatterns ' *.zip' -DeleteMessage $true 这是( -AttachmentNameMatchesPatterns )阻止ZIP附件的最佳方法?
当通过脚本连接到TLS网站时,我可以执行密码套件吗? 为了监视和解决问题,我的目标是创build一个powershell脚本来检查远程服务器是否能够使用特定的密码。 我正在使用命令Invoke-WebRequest来连接到websiste,但据我所知,没有选项来执行密码。 Google对我也不友善。 感谢您的帮助。 PS:Powershell是首选,但命令行或VBScript也很好。
我正在寻找从pipe道内拉出一部分财产,但我似乎无法得到它。 如果我使用的是ISE或者ps1文件,我可以根据需要进行操作并输出,但是我需要这样做。 我正在通过Exchange 2013 shell从我的域中提取活动同步设备。 Get-Mailbox -RecipientTypeDetails UserMailbox -ResultSize Unlimited -Filter {HiddenFromAddressListsEnabled -eq $false} | %{Get-Mobiledevicestatistics -Mailbox $_.Identity} | select Identity 这会给我一个类似结果的path,带有“noteproperty”成员types。 输出如下所示: contoso.com/User_OU/User_Name/ExchangeActiveSyncDevices/Device 我想从输出中返回User_Name。 如果我做一个分裂(在$身份是一个string),并返回该分割的第三个位置,我得到我想要的结果。 {$identity.split('/')[2]}} 我将如何将这个纳入pipe道?