有没有办法,使用PowerShell,将用户名的AD格式更改为Lastname, Firstname ? 我知道如何手动进行,就像这里给出的答案。 我正在尝试看看是否可以将其添加到我放在一起的脚本中。 谢谢! 编辑 在从这篇文章中深入挖掘之后,我能够弄明白这一点。 $domain = $env:USERDOMAIN $uddn = "cn=user-display,cn=409,cn=displayspecifiers,cn=configuration,dc=$domain,dc=com" $ud = [ADSI]"LDAP:// $uddn " $ud.Put("createDialog","%<sn>, %<givenName>") $ud.SetInfo()
我希望能够授予特定安全组的权限,以便能够创build/更改特定邮箱的SMTP地址。 很高兴通过GUI或通过PowerShell完成这个任务。 我可以通过谷歌searchfind这个粒度级别。
我有一个PowerShell DSC自定义资源,embedded在模块中。 完整的代码可以在这里find,如果你想看到它,但可能没有必要; 我的问题不是(我认为)在我写的代码中,而是在如何访问它。 就我而言,我正在使用DSC推送模式。 有一个正常的Powershell脚本我用来安装所需的模块,编译configuration,并启动它。 在该脚本中,我将模块的位置添加到$env:PSModulePath 。 做完之后,我可以看到模块并将其导入到我的交互式shell中,如下所示: PS> Get-Module -ListAvailable | Where-Object -Property Name -eq cWinTrialLab | Import-Module PS> Get-DscResource -Module cWinTrialLab ImplementedAs Name ModuleName Version Properties ————- —- ———- ——- ———- PowerShell cWtlShortcut cWinTrialLab 0.0.1 {Ensure, ShortcutPath, TargetPath, DependsOn…} 所以我创build一个testingconfiguration文件: Configuration TestConfig { Import-DscResource -ModuleName PSDesiredStateConfiguration Import-DscResource -ModuleName cWinTrialLab Node localhost { […]
我想要做的是禁用基于连接名称的网卡(又名:你在“networking连接”窗口中看到的,或者你将使用netsh命令)。 我知道启用/禁用可以使用devcon完成,但devcon使用物理NIC的硬件ID(例如: PCI\VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10\4&282B82B8&0&08F0 )来PCI\VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10\4&282B82B8&0&08F0 ,而不是与其关联的连接的名称(例如:“本地连接2" )。 所以基本上我需要将连接名称映射到设备的硬件ID,如下所示: devcon listclass Net 然后禁用可以通过devcon完成。 任何想法如何做到这一点? 任何更聪明/更简单的方法呢?
使用脚本(例如PowerShell)如何获得DNS服务器上的总查询(Windows Server 2003 – 活动目录环境)? 谢谢
有谁知道一个Powershell脚本,将列出NETAPP vfiler上的所有共享和他们的ACL?
长时间的DBA,但新的PowerShell。 我正在寻找使用PowerShell来遍历几个SQL Server实例,并找出过去24小时内失败的工作。 即使工作成功后,我也需要知道失败。 现在我只想让它在一台服务器上运行,然后我将转向多台服务器。 到目前为止,我可以循环执行所有的工作,但是我不确定在过去24小时内如何获得执行状态: $srv = New-Object "Microsoft.SqlServer.Management.Smo.Server" "localhost" $jobs = $srv.JobServer.Jobs foreach ($job in $jobs) { $jobHistory = $job.EnumHistory() } 任何帮助,将不胜感激。 我期待更多地进入PowerShell,但现在,一些SMO有点混乱。 谢谢,丹
是否有办法在Outlook 2010中脚本导出和导入规则? 我正在编写一个脚本来删除和重新创build用户configuration文件(在Powershell中),作为这一部分我需要备份和重新导入他们的规则。 可以枚举通过在PS,但我想创build一个备份文件(就像通过Outlook用户界面),并重新导入。
我正在尝试通过Get-WinEvent过滤事件以获取过去24小时的特定日志: $EventLogFilter = @{logname='ForwardedEvents'; id=4771,4625,4768; StartTime=(Get-Date).AddHours(-24)} $LogonEvents = Get-WinEvent -FilterHashtable $EventLogFilter 问题是,Get-WinEvent只返回14个事件,但有成千上达到这个标准。 例: $EventLogFilter = @{logname='ForwardedEvents'; id=4771,4625,4768; StartTime=(Get-Date).AddHours(-24)} $LogonEvents = (Get-WinEvent -FilterHashtable $EventLogFilter) $LogonEvents.count 14 现在,如果我从Get-WinEvent中删除StartTimefilter并使用where对象进行过滤,则可以看到这些事件实际上有多less个: $EventLogFilter = @{logname='ForwardedEvents'; id=4771,4625,4768} $LogonEvents = (Get-WinEvent -FilterHashtable $EventLogFilter) ($LogonEvents | ?{$_.TimeCreated -ge (Get-Date).Addhours(-24)}).count 19497 所以它错过了近20,000个事件日志! 到底是怎么回事,我在做一些愚蠢的事情,是Get-WinEvent坏了吗? 在这个cmldet可以过滤并logging不可靠的结果之前,是否有限制日志的数量?
我目前正在使用Powershell脚本在我pipe理的多个Windows Server 2008 R2服务器上远程运行一些Microsoft Hotfix安装程序。 基本上,脚本将所有相应的文件复制到服务器,然后通过Invoke-Command运行安装程序,如下所示: function InstallCU { Write-Host "Installing June 2013 CU…" Invoke-Command -ComputerName $ServerName -ScriptBlock { Start-Process "c:\aaa\prjcusp2\ubersrvprj2010-kb2817530-fullfile-x64-glb.exe" -ArgumentList "/passive" } } 如果我在服务器上本地运行“Start-Process”命令,安装程序将正常运行。 但是,当试图远程运行它时,什么都不会发生(实际上,我可以看到安装程序在任务pipe理器中启动,但几秒钟后closures,不运行)。 我试图给出调用命令-Credentials,我已经closures服务器上的UAC,并且确保我的WinRM设置(运行“winrm quickconfig”并将TrustedHosts设置为*)是正确的。 我也试着让Invoke-Command脚本运行一个本地Powershell脚本来运行安装程序,并将参数从“/ passive”改为“quiet”(以防万一它不能远程启动某个具有UI的东西)再一次,没有骰子。 还有什么我可以尝试,还是我不能做到这一点?