我正在寻找一种方法来使用脚本(bash、PHP?)的输出来提供 TFTP 请求,该脚本以 TFTP 请求路径作为参数调用。Apache+PHP 的简单 TFTP 等价物。
像 PHP + mod_rewrite 之类的东西,即。当客户端请求“file123”时,服务器将调用脚本(例如“.\myscript.sh file123”)并将脚本的输出作为返回的 TFTP 数据传递。
谁能暗示一个好的、值得生产的解决方案?:D
您希望使用(至少)Windows Server 2016 在高可用性模式下配置远程桌面服务连接代理。
您已完成并验证所有先决条件:
db_creator
对于包含所有目标 RDS CB 主机的组),您可以通过向导开始配置高可用性:
或通过 Powershell:
Set-RDConnectionBrokerHighAvailability `
-ClientAccessName "rds.contoso.com" `
-DatabaseConnectionString "DRIVER=SQL Server Native Client 11.0;SERVER=db.contoso.com;Trusted_Connection=Yes;APP=Remote Desktop Services Connection Broker;DATABASE=rdscbha"
您省略了“存储数据库的文件夹”,或者-DatabaseFilePath
因为它是可选的,并且您的 MSSQL 已经配置了默认存储新数据库的位置。
您在 GUI 上收到以下错误消息:
或 PowerShell 上的以下错误:
连接字符串中指定的数据库 DRIVER=SQL Server Native Client 11.0;SERVER=db.contoso.com;Trusted_Connection=Yes;APP=Remote Desktop Services Connection Broker;DATABASE=master 在 RD 连接代理服务器 RDS-01 中不可用.CONTOSO.COM。确保数据库服务器在网络上可用,SQL Server Native Client 安装在所有 RD 连接代理服务器上,并且 RD 连接代理服务器的计算机帐户是数据库服务器上 RDS 管理服务器组的成员。 + CategoryInfo : NotSpecified: (:) [Write-Error], RDManagementException + FullyQualifiedErrorId : SetRdmsHighAvailability,Microsoft.PowerShell.Commands.WriteErrorCommand + PSComputerName:本地主机
你真的很确定一切都很好。您可以使用 PowerShell SQL 工具和正确的驱动程序以SYSTEM
用户身份启动 PowerShell,并根据自己的喜好创建数据库。psexec -is powershell
没有什么是错的。
不过,有一点很奇怪。您使用 GUI 向导或 PowerShell 命令检查您的防火墙,您绝对没有看到任何 SQL 服务器连接尝试。
怎么了?
我们有 DAG,其中两个节点的 Exchange 2016 CU12 在最新的 Windows Server 2016 上运行。
在安装在其中一个节点上的任何数据库中的任何邮箱上搜索都失败。其他节点正常工作。
事件在受影响的主机上1012
重复报告,具有以下内容(此特定内容由健康监视器重复生成):MSExchangeIS
SearchQueryStxProbe
Exchange Server 信息存储在执行全文索引查询时遇到错误(“and(subject:string("SearchQueryStxProbe*", mode="and"), folderid:string("3753F38349D8A943AE346EACDBD8B91300000000010C0000"))")。错误信息:System.ServiceModel.EndpointNotFoundException:由于终结点地址“net.pipe://localhost/3867”处的服务对该地址的协议不可用,因此无法分派消息。
问题似乎与内容索引完全无关,事件本身和进一步的诊断表明搜索服务的某些部分在此特定主机上无法正常运行存在一些问题。
ContentIndexState
两台主机在所有数据库上都报告为健康。SearchQueryFailureMonitor
并返回不健康状态。SearchQueryStxMonitor
Test-ExchangeSearch
在任何一个主机上都没有返回任何内容。没有结果对象,没有错误,只有一段时间的进度条。从未使用过此工具,因此不知道会发生什么。谷歌确实返回了大量关于导致事件 1012 的各种问题的帖子。不幸的是,1012 显然涵盖了广泛的问题。没有一个问题与我的事件详细信息匹配或呈现类似的副作用,同时提供任何解决方案或线索来寻找什么。
由于缺乏任何合理的文档,进一步的步骤仅限于对两台主机进行比较分析——健康主机和故障主机。
根据事件数据,我检查了 TCP 3867 绑定。在故障主机上,端口未绑定。在健康主机上,端口由服务运行noderunner.exe
进程的一个实例绑定,其中一个具有以下参数:
"C:\Program Files\Microsoft\Exchange Server\V15\Bin\Search\Ceres\Runtime\1.0\NodeRunner.exe"
--noderoot "C:\Program Files\Microsoft\Exchange Server\V15\Bin\Search\Ceres\HostController\Data\Nodes\Fsis\IndexNode1"
--addfrom "C:\Program Files\Microsoft\Exchange Server\V15\Bin\Search\Ceres\HostController\Data\Nodes\Fsis\IndexNode1\Configuration\Local\Node.ini"
--tracelog "C:\Program Files\Microsoft\Exchange Server\V15\Bin\Search\Ceres\HostController\Data\Nodes\Fsis\IndexNode1\Logs\NodeRunner.log"
我比较了两台主机上的引用文件和路径:
NodeRunner.log
两个节点上都没有生成文件。因此,没有明显的区别。此外,复制数据库上的搜索目录之间没有显着差异。
有人有类似的问题吗?有人解决了吗?任何人都有提示,在哪里看?任何日志文件或诊断工具?
我正在通过基于 Exchange 的规则设置 SCL 值。当所需条件匹配并且正确设置 SCL 值时,规则会正确应用,如邮件标头所示。此外,SCL 值集 (6) 与垃圾 SCL 阈值(默认值,5)匹配。
但是,Exchange 服务器不会将邮件放入垃圾文件夹。
我正在寻找可能出现问题的提示,可能会破坏正确工作流程的提示,等等。或有关要执行的其他诊断步骤的任何提示。
我目前正在以下场景(示例值)中进行到 Exchange 2016 的迁移:
X-Spam-Score
,X-Spam-Score
标头值、匹配模式[+]{4}
(四个或更多+
字符,相当于4.0+
分数)应用规则,将 SCL 级别设置为6
.规则的确切配置(基于Get-TransportRule
显示):
HeaderMatchesMessageHeader : X-Spam-Score
HeaderMatchesPatterns : {[+]{4}}
SetSCL : 6
我知道这到目前为止有效,因为收到的与X-Spam-Score
模式匹配的消息确实会获得X-MS-Exchange-Organization-SCL: 6
标题。
然而,邮件最终在收件箱中,而不是被转发到垃圾文件夹:(
已传递消息中的示例结果标头集:
X-Spam-Score: 8.0 (++++++++)
X-MS-Exchange-Organization-SCL: 6
X-MS-Exchange-Organization-AuthSource: mbx-a.example.com
X-MS-Exchange-Organization-AuthAs: Anonymous
X-MS-Exchange-Transport-EndToEndLatency: 00:00:01.0250276
X-MS-Exchange-Processed-By-BccFoldering: 15.01.1531.003
上述配置基本上是标准 Exchange Online Protection 配置的类似物,其中 EOP 服务器可以被视为具有 SpamAssassin 的旧服务器的等价物。在这方面,EOP 文档建议了一个非常相似的配置,不同之处仅在于用于确定消息状态的源标头。进一步的部署计划假定在旧服务器之前部署 EOP,然后删除具有垃圾邮件保护角色的旧服务器。
到目前为止,有关垃圾/删除/拒绝 SCL 阈值的服务器配置几乎是默认的,详细信息:
获取组织配置:
SCLJunkThreshold : 4
获取内容过滤器配置:
SCLRejectThreshold : 7
SCLRejectEnabled : True
SCLDeleteThreshold : 9
SCLDeleteEnabled : False
SCLQuarantineThreshold : 9
SCLQuarantineEnabled : False
Exchange 设置不包括边缘传输服务器,并且未在邮箱服务器上安装/启用反垃圾邮件代理,但 Microsoft 文档未提及任何此类要求,例如:
我已经在所有节点上安装了反垃圾邮件代理并执行了以下测试:
这两个测试确实导致 SCL6 消息被传递,但同样是传递到收件箱而不是垃圾文件夹。
这证明该问题与运输规则无关。无论哪种机制提高/设置 SCL 级别,消息都会在收件箱中结束。
我可以强制 Exim 将未知收件人的邮件转发给另一台主机吗?
我想以一种允许我在服务器之间移动单个帐户并保持所有帐户正常运行的方式进行 Exim 到 Exchange 的迁移。
我的想法是:
如果这个想法出于任何原因听起来很糟糕,我也欢迎任何批评。
安装 SCOM Linux Agent 后,SCOM 正常监控 Linux 服务器,但未检测到 Apache 或 MySQL 实例,即。在以下视图中,SCOM 中均未出现条目:
Apache HTTP Server/Apache HTTP Servers
MySQL/MySQL Servers
根据所有指南、文档和分步说明,上述条目应填写那些检测到 Apache 和 MySQL 实例的 Linux 服务器。这些条目应该在任何进一步的配置步骤之前可用,并且应该为配置大多数默认方案提供简单的配置任务。
Linux 实例本身被正确监控。
我在下面列出了所有相关信息和日志以及执行的步骤列表。
任何想法,我错过了什么?
scx-1.6.2-339.x86_64
mysql-cimprov-1.0.1-5.x86_64
apache-cimprov-1.0.1-9.x86_64
omi-1.2.0-35.x86_64
(这个是从 SCX 捆绑的 1.0.8 版本手动升级的,与捆绑不兼容ApacheHttpdProvider
,已提交错误)scom-maint
和scom-monit
,以及 SCOM 端的适当 RunAs 帐户和配置文件/etc/sudoers.d/scom
apache-cimprov
以及mysql-cimprov
Apache/MySQL Servers
通过视图中可用的适当 SCOM 任务提供。/var/opt/omi/log/omiagent.root.root.log
ApacheHttpdProvider
,升级到1.2.0omi
后不再出现omi
/var/opt/omi/log/omiserver.log
Failed to execute PREEXEC program
相关的错误,并且在注释掉默认值后不再出现!includedir
/etc/my.cnf
/var/opt/microsoft/mysql-cimprov/log/mysqllog.log
/var/opt/microsoft/mysql-cimprov/log/scom-monit/mysqllog.log
/var/opt/microsoft/apache-cimprov
目录不包含日志或文件,只有一个空run
目录/var/opt/scx/scx.log
使用详细选项生成的不包含apache
/mysql
关键字(检查grep -i
)/var/opt/scx/scom-monit/scx.log
不包含错误(仅SCX Provider Module loaded
)在每个发现周期(每 4 小时)中发现并调查以下条目重复/var/log/secure
:
sudo: pam_unix(sudo:auth): conversation failed
sudo: pam_unix(sudo:auth): auth could not identify password for [scom-monit]
sudo: scom-monit : command not allowed ; TTY=unknown ; PWD=/var/opt/microsoft/scx/tmp ; USER=root ; COMMAND=/etc/opt/microsoft/scx/conf/tmpdir/scxuFPgv1
文件的最后 6 个字符COMMAND
是随机的。
我有四个相同的刀片服务器。
我在一个刀片上安装了 Windows Server 2012 R2,在所有其他刀片上安装了 Xen。
在 Windows 托管的服务器(仅)上,10GbE NIC无法协商 10Gbit。他们只停留在 1Gbit。
Xen 主机上的 10GbE 工作正常。
我有 DELL PowerEdge M1000e 机箱:
所有可用的固件都是相同的并且是最新的。
因为我仍然认为这可能是一些奇怪的 Windows 问题,所以我发布了这个问题以排除任何可能的问题软件源,尤其是那些可能是 Windows 特定的软件源。
你有什么提示在哪里看,什么可能是错的?
我无法通过作为帐户Domain Computers
在 Windows XP 上运行的进程访问可访问的网络共享。SYSTEM
我有一个 2008R2 域、一个 2003R2 文件服务器和一组客户端。
在文件服务器上,我已将共享设置为可供Domain Computers
组访问。该共享应该包含一个只读文件存储库 ( Wpkg ),用户运行的系统服务 ( Wpkg-GP )可以从域工作站访问该文件SYSTEM
。
现在的问题是,虽然它在 Windows 7 上运行良好,但在 Windows XP 上却完全失败。看来,出于某种原因SYSTEM
,Windows XP 上的帐户无法作为计算机进行身份验证。查看更多详情。
我做错了什么?
这可能是 Windows XP 系统的自然行为吗?如果是这样,它可以更改或修复吗?或者有没有其他方法可以实现这样一种场景,即网络共享SYSTEM
对计算机上的用户可见,而用户无法访问?
Domain Computers
组已获得对文件和共享的权限Read
到Full Controll
既然是应用报的问题,我先开始验证实际SYSTEM
用户权限。在两个 Windows 版本(7 和 XP)上,我都打开了一个提升的cmd
会话模拟SYSTEM
帐户(使用PsExec -s -i cmd.exe
)并尝试手动安装网络共享:
net use x: \\myfs.mydomain.com\Wpkg
在 Windows 7 上,该驱动器已毫无异议地安装。但在 Windows XP 上,该命令会返回有关错误密码的信息并提示输入新密码:
[Windows XP]
Password for \\myfs.mydomain.com\Wpkg is incorrect.
Please enter password for "myfs.mydomain.com": _
(请注意,这只是翻译,官方英语语言环境可能听起来不同)
我正在尝试配置LDAP 邮件自动完成- 2008R2 域环境中Mozilla Thunderbird 17.0.5 @ Windows 7 x64的内置功能。该操作系统是 VBox 上全新的开箱即用安装。看来我无法让它与 Kerberos 身份验证(本机 SSPI)一起使用。
我已经正确配置了 LDAP 参数 - 我已经设法在 Thunderbird 中使用“简单”身份验证模式来验证这一点(在该应用程序中,应用程序要求用户手动输入域凭据)。在那种模式下,TB 自动完成工作。
然而,每当我切换到 Kerberos 身份验证时,我都没有得到自动完成结果。VBox 在我在地址字段中键入每个字母后显示一些网络活动,但没有返回任何结果。
这对标准用户帐户和域管理员帐户都是一样的。
据我所知,这可能是 Thunderbird 的某些问题或域/kerberos 问题。
根据 google 的结果,Thunderbird 的这个功能并不是很受欢迎,但我读过的大部分内容似乎都证明这应该适用于任何默认配置的域环境。由于域控制器是由前雇员设置的,因此域的某些功能可能被重新配置或禁用。我从未接触过内置的 Kerberos。
谁能告诉我,我应该寻找什么?
我试图调试 Thunderbird 客户端并得到了我在底部发布的日志。日志没有显示错误,虽然我对 Kerberos 的内部工作几乎一无所知,但据我所知,客户端正在尝试验证 ( InitializeSecurityContext: succeeded
) 但似乎从未收到任何答复。然而 TB 也没有返回任何错误。
此外,无论我配置的是正确的Bind DN
名称([email protected]
是正确的名称)还是一些完全随机的字母,日志似乎都几乎相同。
如果我在 之后启动 Thunderbird klist purge
,系统似乎会正确获取新票证 (krbtgt\domain.mydomain.com
和LDAP\dc02.domain.mydomain.com
)。
0[e0f140]: nsAuthSSPI::Init
0[e0f140]: InitSSPI
0[e0f140]: Using SPN of [ldap/mydomain.com]
0[e0f140]: AcquireCredentialsHandle() succeeded.
0[e0f140]: entering nsAuthSSPI::GetNextToken()
0[e0f140]: InitializeSecurityContext: continue.
0[e0f140]: pending operation added; total pending operations now = 1
1428[e13ac0]: nsLDAPConnection::RemovePendingOperation(): operation removed
1428[e13ac0]: nsLDAPConnection::RemovePendingOperation(): operation removed; total pending operations now = 0
1428[e13ac0]: entering nsAuthSSPI::GetNextToken()
1428[e13ac0]: InitializeSecurityContext: succeeded.
1428[e13ac0]: pending operation added; total pending operations now = 1
1428[e13ac0]: nsLDAPConnection::RemovePendingOperation(): operation removed
1428[e13ac0]: nsLDAPConnection::RemovePendingOperation(): operation removed; total pending operations now = 0
1428[e13ac0]: pending operation added; total pending operations now = 1
0[e0f140]: nsAuthSSPI::Init
0[e0f140]: Using SPN of [ldap/mydomain.com]
0[e0f140]: AcquireCredentialsHandle() succeeded.
0[e0f140]: entering nsAuthSSPI::GetNextToken()
0[e0f140]: InitializeSecurityContext: continue.
0[e0f140]: pending operation added; total pending operations now = 2
1428[e13ac0]: pending operation removed; total pending operations now = 1
1428[e13ac0]: nsLDAPConnection::RemovePendingOperation(): operation removed
1428[e13ac0]: nsLDAPConnection::RemovePendingOperation(): operation removed; total pending operations now = 0
1428[e13ac0]: entering nsAuthSSPI::GetNextToken()
1428[e13ac0]: InitializeSecurityContext: succeeded.
1428[e13ac0]: pending operation added; total pending operations now = 1
1428[e13ac0]: nsLDAPConnection::RemovePendingOperation(): operation removed
1428[e13ac0]: nsLDAPConnection::RemovePendingOperation(): operation removed; total pending operations now = 0
1428[e13ac0]: pending operation added; total pending operations now = 1
1428[e13ac0]: pending operation removed; total pending operations now = 0
0[e0f140]: nsLDAPOperation::SearchExt(): called with aBaseDn = 'OU=MyContainer,DC=mydomain,DC=com'; aFilter = '(&(objectClass=person)(|(mail=balsams*)(userPrincipalName=balsams*)(sn=balsams*)(cn=balsams*)))'; aAttributes = a,sn,mail; aSizeLimit = 100
0[e0f140]: pending operation added; total pending operations now = 1
1428[e13ac0]: pending operation removed; total pending operations now = 0
0[e0f140]: nsLDAPOperation::SearchExt(): called with aBaseDn = 'OU=MyContainer,DC=mydomain,DC=com'; aFilter = '(&(objectClass=person)(|(mail=balsam*)(userPrincipalName=balsam*)(sn=balsam*)(cn=balsam*)))'; aAttributes = a,sn,mail; aSizeLimit = 100
0[e0f140]: pending operation added; total pending operations now = 1
1428[e13ac0]: pending operation removed; total pending operations now = 0
0[e0f140]: nsLDAPOperation::SearchExt(): called with aBaseDn = 'OU=MyContainer,DC=mydomain,DC=com'; aFilter = '(&(objectClass=person)(|(mail=balsa*)(userPrincipalName=balsa*)(sn=balsa*)(cn=balsa*)))'; aAttributes = a,sn,mail; aSizeLimit = 100
0[e0f140]: pending operation added; total pending operations now = 1
1428[e13ac0]: pending operation removed; total pending operations now = 0
0[e0f140]: nsLDAPOperation::SearchExt(): called with aBaseDn = 'OU=MyContainer,DC=mydomain,DC=com'; aFilter = '(&(objectClass=person)(|(mail=bals*)(userPrincipalName=bals*)(sn=bals*)(cn=bals*)))'; aAttributes = a,sn,mail; aSizeLimit = 100
0[e0f140]: pending operation added; total pending operations now = 1
1428[e13ac0]: pending operation removed; total pending operations now = 0
0[e0f140]: nsLDAPOperation::SearchExt(): called with aBaseDn = 'OU=MyContainer,DC=mydomain,DC=com'; aFilter = '(&(objectClass=person)(|(mail=bal*)(userPrincipalName=bal*)(sn=bal*)(cn=bal*)))'; aAttributes = a,sn,mail; aSizeLimit = 100
0[e0f140]: pending operation added; total pending operations now = 1
1428[e13ac0]: pending operation removed; total pending operations now = 0
0[e0f140]: nsLDAPOperation::SearchExt(): called with aBaseDn = 'OU=MyContainer,DC=mydomain,DC=com'; aFilter = '(&(objectClass=person)(|(mail=bals*)(userPrincipalName=bals*)(sn=bals*)(cn=bals*)))'; aAttributes = a,sn,mail; aSizeLimit = 100
0[e0f140]: pending operation added; total pending operations now = 1
1428[e13ac0]: pending operation removed; total pending operations now = 0
0[e0f140]: nsLDAPOperation::SearchExt(): called with aBaseDn = 'OU=MyContainer,DC=mydomain,DC=com'; aFilter = '(&(objectClass=person)(|(mail=balsa*)(userPrincipalName=balsa*)(sn=balsa*)(cn=balsa*)))'; aAttributes = a,sn,mail; aSizeLimit = 100
0[e0f140]: pending operation added; total pending operations now = 1
1428[e13ac0]: pending operation removed; total pending operations now = 0
0[e0f140]: nsLDAPOperation::SearchExt(): called with aBaseDn = 'OU=MyContainer,DC=mydomain,DC=com'; aFilter = '(&(objectClass=person)(|(mail=balsam*)(userPrincipalName=balsam*)(sn=balsam*)(cn=balsam*)))'; aAttributes = a,sn,mail; aSizeLimit = 100
0[e0f140]: pending operation added; total pending operations now = 1
1428[e13ac0]: pending operation removed; total pending operations now = 0
0[e0f140]: unbinding
0[e0f140]: unbound
0[e0f140]: unbinding
0[e0f140]: unbound