我是使用Windows注册表的新手。
这是我的问题和上下文:
我需要编写一个powershell脚本,该脚本将自动在Outlook 2007中为新帐户更改以下设置,您只需输入步骤2中概述的LogonDomain \ UserName和Password:
步骤1:工具->帐户设置...->双击电子邮件帐户->其他设置...->连接->选中“使用HTTP连接到Microsoft Exchange”框-> Exchange代理设置...- >输入代理服务器(例如exmail.example.com)->选中“在快速网络...上”和“在慢速网络...上”框->在下拉栏中设置“基本身份验证”->确定- >确定->下一个->完成
步骤2:重新启动Outlook->输入LogonDomain和用户名->输入密码->重复步骤1,但这次取消选中“在快速网络上...”框。
注意:执行步骤2时,已经设置了步骤1中的某些设置,例如要交换的代理服务器的名称。
为了查找对注册表所做的更改,我使用了应用程序RegFromApp,该应用程序记录了特定进程(在本例中为Outlook)所做的每个注册表更改。在新帐户上手动执行步骤1和2之后,我编写了两个脚本来进行RegFromApp记录的更改。
当我尝试在新帐户上执行步骤1时,无法进行更改。但是,如果我手动执行步骤1,然后执行步骤2,则会进行适当的更改。然后,如果我执行第1步,则会正确更改设置!不幸的是,仅使步骤2自动化是不够的。我认为问题出在步骤1的“进入代理服务器”部分。在我的脚本中,没有任何地方存在字符串“ exmail.example.com”。十六进制值的负载已更改,并且“ exmail.example.com”可能被编码为其中之一,但我不知道。
问:是否有人知道如何使用注册表设置代理服务器以进行交换(如果可能的话),或者甚至没有用于此设置的注册表项?
谢谢
帕特里克
以下是我为公司中希望执行类似操作的任何人编写的READ_ME.txt
任务:在Outlook 2007中设置Exchange的代理服务器
要求:-RegFromApp(\ nas \ it \ MS \ ExchangeSetup)-PowerShell
方法:-打开Outlook和RegFromApp。-选择Outlook作为RegFromApp中要监视的过程-对Outlook设置进行适当的更改。-对注册表的更改将记录在RegFromApp中。-编写Powershell脚本以对注册表进行这些更改。-要自动执行Powershell脚本,您需要制作一个.BAT文件,该文件可将PowerShell的执行策略临时更改为RemoteSigned并将其恢复为Restricted(出于安全原因)。
注意:-RegFromApp将为您提供对注册表所做的所有更改。实际上,只有少数几个可以对Outlook中的设置进行适当的更改。-此方法应该能够对在Windows XP或更高版本上运行的任何程序进行任何设置,并且由stackoverflow上的用户推荐,该用户必须对10000台计算机的网络进行类似的更改。-要运行此脚本,请执行\ nas \ it \ MS \ ExchangeSetup中的exchange_setup.BAT
PowerShell脚本:
Stop-Process -processname outlook
$regkey1 = "HKCU:\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook\13dbb0c8aa05101a9bb000aa002fc45a"
$regkey2 = "HKCU:\Software\Microsoft\Exchange"
set-itemproperty -path $regkey1 -name 00036623 -value ([byte[]](0x2b,0x00,0x00,0x00)) #this value is used for binary regkeys
set-itemproperty -path $regkey1 -name 001f6622 -value ([byte[]](0x65,0x00,0x6D,0x00,0x61,0x00,0x69,0x00,0x6C,0x00,0x2E,0x00,0x6A,0x00,0x6F,0x00,0x6E,0x00,0x65,0x00,0x73,0x00,0x65,0x00,0x6E,0x00,0x67,0x00,0x2E,0x00,0x63,0x00,0x6F,0x00,0x6D,0x00,0x00,0x00))
set-itemproperty -path $regkey1 -name 001f6625 -value ([byte[]](0x00,0x00))
set-itemproperty -path $regkey1 -name 00036627 -value ([byte[]](0x01,0x00,0x00,0x00))
set-itemproperty -path $regkey1 -name 00036601 -value ([byte[]](0x84,0x19,0x00,0x00))
set-itemproperty -path $regkey2 -name LogonDomain -value jonesgroup #this value is used for string regkeys
[System.Diagnostics.Process]::Start("outlook").WaitForExit()
set-itemproperty -path $regkey1 -name 00036623 -value ([byte[]](0x23,0x00,0x00,0x00))
[System.Diagnostics.Process]::Start("outlook")
.BAT文件:
powershell.exe -executionpolicy remotesigned -file \\nas\it\MS\ExchangeSetup\exchange_setup.ps1
set-executionpolicy restricted
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句