我有一个奇怪的错误,似乎是权限相关的,虽然我已经做了大量的search,没有任何的build议工作。 我有一个PowerShell脚本,直接运行在Windows2012 DC。 它试图从EventViewer日志中获取信息,特别是“安全性”,但是突然之间,服务器现在(截至前几天)说“Get-EventLog:请求访问不被允许”。 这也是一个非常简单的命令: Get-Eventlog -Logname Security -Newest 1 但结果如下: Get-EventLog : Requested registry access is not allowed. At line:1 char:1 + Get-EventLog -Newest 1 + ~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [Get-EventLog], SecurityException + FullyQualifiedErrorId : System.Security.SecurityException,Microsoft.PowerShell.Commands.GetEventLogCommand 我曾经尝试过: 给予我自己的权限(确保pipe理员/服务器操作员具有完全访问权限),还临时添加“所有人”。 这是在RegEdit中完成的: HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ EventLog 在EventViewer中清除安全日志 试图在辅助DC上运行相同的脚本具有相同的权限,并在那里工作。 如果我指定了-Computername SecondDC.mydomain.ads,但是如果我没有指定它或指定FirstDc.mydomain.ads,也是有效的。 […]
在查看WSUS 3.0 API时,我无法find是否需要给定的更新。 UpdateInstallationState枚举有一个NotApplicable值,其描述如下:“ 该更新不适用于客户端计算机 ”。 Meeaning,该更新可能已经安装,因此不再适用于目标计算机。 Powershell代码将计算每次更新的更新适用的计算机目标的数量。 $updateScope = New-Object Microsoft.UpdateServices.Administration.UpdateScope $updateScope.ApprovedStates = [Microsoft.UpdateServices.Administration.ApprovedStates]::Any $updateScope.IncludedInstallationStates = [Microsoft.UpdateServices.Administration.UpdateInstallationStates]::All $updatesCount = @{} ForEach ($cpt in $WSUS.GetComputerTargets().GetEnumerator()) { ForEach ($updt in $cpt.GetUpdateInstallationInfoPerUpdate($updateScope)) { If (-not $updatesCount.ContainsKey($updt.UpdateId)) { $updatesCount.Set_Item($updt.UpdateId, 0) } If ($updt.UpdateInstallationState -eq [Microsoft.UpdateServices.Administration.UpdateInstallationState]::NotApplicable) { Continue } $updatesCount[$updt.UpdateId] += 1 } } 在我的WSUS服务器上运行此代码,我将得到不适用的更新(计数等于0)。 但是,在WSUS控制台pipe理中,我确实看到一些不需要的更新。 如何知道计算机目标是否真的需要更新,并计算WSUSpipe理控制台中显示的“ 需要的计数”值?
我能够为每个用户设置主驱动器和login脚本,但问题是它不会创build主文件夹的东西看起来不对 get-aduser -filter * foreach {New-Item -ItemType Directory -Force -Path ('\\HYDAD1\home$\' + $_.SamAccountName) } Get-ADUser -filter * | % { Set-ADUser $_ -HomeDrive "H:" -HomeDirectory ('\\server\home$\' + $_.SamAccountName) } Get-ADUser -Filter * | Set-ADUser -ScriptPath 'yyy.bat' get-aduser -filter * foreach {New-Item -ItemType Directory -Force -Path ('J:\\home$\' + $_.SamAccountName) }
通过.csv文件添加批量用户时遇到以下问题:用户login名和域为空,但是用户login名(Pre windows 2003)显示正常。 因此,我无法login任何新导入的用户。 我的.csv看起来像这样。 我使用Excel公式连接,提取给定的名字的第一个字母,等等 fname,sname,Name,sAMAccountName,cn,sn,Description,Department,Path,Password,Enabled Jaunita,Mendoza,Jaunita Mendoza,jmendoza,Jaunita,Mendoza,Training Account,Trainees,"OU=London,OU=Adatum,DC=lab,DC=local",Pa$$w0rd,$FALSE 我正在使用的powershell脚本如下所示: Import-Csv .\users.csv | foreach-object { $userprinicpalname = $_.SamAccountName + "@{lab}.local" New-ADUser -SamAccountName $_.SamAccountName -Name $_.name -DisplayName $_.name -GivenName $_.cn -SurName $_.sn -Description $_.Description -Department $_.Department -Path $_.path -AccountPassword (ConvertTo-SecureString "Pa$$w0rd" -AsPlainText -force) -Enabled $True -PasswordNeverExpires $FALSE -PassThru } 有什么build议吗?
我尝试在迁移到Exchange 2013之后退役Exchange 2007服务器,以便将来迁移到2016年。 我删除了所有邮箱数据库,但不是公用文件夹数据库,我得到一个错误 指定的公用文件夹数据库包含文件夹副本。 在删除公用文件夹数据库之前,删除文件夹或将副本移动到另一个公用文件夹数据库。 这是一个常见的错误,但所有我试过不起作用,因为我没有任何公共文件夹。 Get-PublicFolderStatistics显示一些系统/隐藏的公共文件夹: Name ItemCount LastAccessTime —- ——— ————– EX:/o=Sb/ou=Exchange Administrative Grou 0 12/04/2016 10:55:23 p (FYDIBOHF23SPDLT) EX:/o=Sb/ou=Exchange Administrative Grou 0 12/04/2016 10:55:23 p (FYDIBOHF23SPDLT) globalevents 0 12/04/2016 10:55:23 internal 0 12/04/2016 10:55:23 OWAScratchPad{0328B619-6465-4137-98FF-3B 0 12/04/2016 10:55:23 5BC061CF6F} StoreEvents{0328B619-6465-4137-98FF-3B5B 0 12/04/2016 10:55:23 C061CF6F} Get-PublicFolder返回错误: 没有与以下标识匹配的现有PublicFolder:“\”。 请确保您指定了正确的PublicFolder标识,并且您具有查看PublicFolder的必要权限。 在Exchange 2013方面,这两个cmdlet不会返回任何公用文件夹。 所以,我试过Exchange脚本: RemoveReplicaFromPFRecursive.ps1 […]
我正在编写一个脚本来自动化一些AWS启动的Windows服务器实例。 我有DNS的变化,join域的部分没关系,但我在迭代命名空间时遇到了问题…例如; 机器自动生成的名字是:WIN-JDK2349DFJR我想让脚本检查AD,看看名称(如图像N)是否正在使用,如果是,则命名机器映像N + 1。 服务器启动,自动命名(WIN-JDK2349DFJR)。 脚本调用 – 脚本检查AD:三台服务器命名为“images1,images2,images3”脚本将DNS更改为本地DC,将名称更改为“images4”,join域并重新启动。 我不确定如何编写PowerShell脚本来检查Active Directory中的计算机名称imageN,如果在名为imageN的Active Directory中存在具有N的计算机帐户,则增加N.
我正在输出一个PowerShell脚本的结果,通过交换通过电子邮件发送给我的HTML文件,我需要让脚本停止parsing结果到相同的电子邮件,并在每次运行创build一个新的电子邮件。 我已经尝试了不同的主题行,但仍然会parsing到相同的电子邮件地址。 $Subject = "Win7 Printer Report from script" $ToAddress = "[email protected]" $FromAddress = "[email protected]" send-mailmessage -to $ToAddress -from $FromAddress -subject $Subject -smtpserver vmserver.server.com -body $body -BodyAsHtml 这是完整的脚本。 Import-Module ActiveDirectory $comps = "12345" foreach ($comp in $comps) { $count++ $printers = get-printer -computername $comp foreach ($printer in $printers) { $p_name = $printer.name $p_shared = $printer.shared […]
对于PowerShell版本:2.0和4.0 有没有一个命令用于设置powershell控制台的screenbuffersize ? 我需要设置powershell控制台的属性,而不是默认大小。 我已经尝试了下面的命令。 reg add "HKEY_CURRENT_USER\Console" /t REG_DWORD /v ScreenBufferSize /d 0x07d003e8 /f
我有一个用于开发脚本的虚拟testing环境。 由于.NET不具备PowerShell提供的所有可能性,所以我使用远程PowerShell运行空间。 我现在的问题是,虽然服务正在运行,但我无法访问FileShare-Memberserver上的WinRM服务。 初始状况: winrm quickconfig告诉我,服务正在运行,并在各方configuration。 如果我在FileShare上运行命令Test-wsman ,它也不是问题。 我显然重新启动了几次服务 使用远程脚本,我可以访问FileShare上的Exchange Shell,但不能访问MS PowerShell 我可以使用“远程桌面连接” – 应用程序手动连接到服务器 有一次我停用了所有的防火墙,因为我想合并请求在那里停止的可能性。 我在虚拟testing环境中快速绘制了服务器结构。 (红色箭头表示Test-WSMan命令不起作用) 我不知道如何继续这个问题。 我在互联网上阅读了很多东西,但没有任何帮助。 我经历了TechNet博客“about_Remote_Troubleshooting”的所有步骤。 最重要的是,我的脚本可以到达同一台服务器上的交换PS,这让我深感不安。 几个月前,我在这个问题上问了一个问题,因为我认为我的脚本的ShellUri是错误的,尽pipe它在DC上适用于PS。 所以如果有人向我暗示我接下来可以尝试,我会非常感激。
我发现一个脚本来检查有多less用户或计算机在给定的域控制器中进行身份validation。 脚本可以在这里find: https : //gallery.technet.microsoft.com/scriptcenter/Check-out-how-many-users-05a8b499#content 在Server 2008 R2域控制器下运行此错误会出现两个错误: $ AccountName =($ RegexAccountName.match($ _。message).value).Split(“:”)[1] .Trim <<<<() CategoryInfo:InvalidOperation:(Trim:String)[],RuntimeException FullyQualifiedErrorId:InvokeMethodOnNull $ DomainName =($ RegexDomainName.match($ _。message).value).Split(“:”)[1] .Trim <<<<() CategoryInfo:InvalidOperation:(Trim:String)[],RuntimeException FullyQualifiedErrorId:InvokeMethodOnNull 有关如何在Server 2008 R2下运行的任何想法?