我很困惑。
考虑以下:
该服务调用网络上的工作站来收集信息。这适用于我使用以我身份运行的 IIS Express 的开发,因为 IISX 只是一个 .exe
在生产中,服务工作正常,身份验证工作,但调用导致服务(作为 PineappleService 运行)访问网络上的内容的函数失败。
我怀疑是 SPN 注册问题,但我不知道要设置什么 SPN。
最近,我偶然发现了这篇文章,它似乎在其他一些文章面前说fly:
请注意,它说
SPN 要求与上述相同。与在 IIS 6.0 中不同(我们必须为应用程序池标识添加形式为 http/ 的 SPN),您不必为 Domain1\Username1 添加像 http/ 这样的 SPN。
所以我不知道什么是对的了。不知道是需要注册HTTP SPN还是HOST SPN还是使用DNS别名或者NetBIOS名称,设置在PineappleService账号或者VS1电脑账号上。
我不知道当我尝试一些东西时是否存在缓慢的 AD 复制问题,这意味着我必须在反复试验之间等待一个小时。
现在一切都那么复杂。我作为系统操作员和开发人员工作了 15 年,我感觉到域和工作站以及权利和政策的终结。这一切都太过分了。
谢谢你的帮助。
Luke
我正在 Linux 2 的 Windows 子系统上运行 Ubuntu 18.04。我正在curl使用自签名证书向在 Windows 端运行的 Web 服务发出请求。我收到此错误:
curl: (60) SSL 证书问题:无法获取本地颁发者证书
我想将证书添加到本地商店。我有一个.pfx可用的文件。我知道我可以使用-k,但我想针对该服务器使用其他命令行工具。
我该怎么做呢?
openssl s_client -showcerts -servername server -connect server:443 > foo.pem
openssl x509 -in foo.pem -inform PEM -out foo.crt
sudo cp foo.crt /usr/local/share/ca-certificates/
sudo update-ca-certificates
Run Code Online (Sandbox Code Playgroud)
这看起来似乎有道理,但没有用,curl仍然有同样的抱怨。
我也尝试过使用一个DER版本。
sudo rm /usr/local/share/ca-certificates/windows_cert.crt
openssl x509 -in windows_cert.pem -inform PEM -out windows_cert_der.crt -outform DER
sudo cp windows_cert_der.crt /usr/local/share/ca-certificates/
sudo update-ca-certificates
Run Code Online (Sandbox Code Playgroud)
别担心,我开始关注这里的一些回复。
https://askubuntu.com/questions/73287/how-do-i-install-a-root-certificate
但毫无进展,这显然是计算领域的一个非常困难的问题。
我发现几个月前他们在我需要使用的命令行工具中添加了一个开关,可以忽略证书问题。
我试图非常简单地运行一个可执行文件并传递一个文件路径作为第一个参数。在 DOS 中,这将是命令:
import.exe "C:\Some Path\With\Spaces.txt"
Run Code Online (Sandbox Code Playgroud)
通过将路径放在引号中,路径将被正确解析为可执行文件中的第一个标记。
在 PowerShell 中我使用这个:
$feeds = dir 'T:\Documents\Company\Product Development\Data
foreach ($feed in $feeds) { start -FilePath import.exe -ArgumentList $feed.FullName }
Run Code Online (Sandbox Code Playgroud)
PowerShell 中 Start-Process cmdlet 的问题在于它使用字符串数组作为参数,因此路径被分解并作为单独的标记发送到可执行文件,或者有效地作为不带这些重要引号的字符串发送到可执行文件。
在我的 PowerShell 命令行中添加引号会强制按字面意思处理“$feed.FullName”。
双引号 "" 使 PowerShell 在参数列表中看不到任何内容。“参数为空或为空。” 它告诉我。
我预计这是一个已知的令人头疼的问题,并且从第一天起就有已知的解决方法。
谢谢
卢克
更新和回应
foreach ($feed in $feeds) { Invoke-Expression "start import.exe `"$feed.FullName`"" }
Run Code Online (Sandbox Code Playgroud)
注意:我使用“开始”,因为尽管将我的位置设置为 import.exe 所在的文件夹,但 PowerShell 似乎已被编写为在文件系统当前位置查找可执行文件。
该变量被解释为 .FullName 作为文字字符串!:
filename.txt.FullName
Run Code Online (Sandbox Code Playgroud)
这个:
foreach ($feed in $feeds) { Invoke-Expression "C:\Users\Public\Documents\~Main\Data.Importer\Data.Importer\bin\Release\import.exe ($feed.FullName)" }
Run Code Online (Sandbox Code Playgroud)
结果是:
Invoke-Expression : Unexpected token '_data.txt.FullName' in …Run Code Online (Sandbox Code Playgroud) 似乎没有一个参考文档可以让我查找每个对象类的属性,例如组、用户、人员等。
有人知道一个吗??
(想避免 ADSIEDIT)
考虑到即使有大量可用 RAM,Windows 也会大量使用页面文件,是否最好将此页面文件放在尽可能靠近虚拟系统的最快磁盘上?
我在想,RAM 磁盘。
在我工作的地方,用于 VM 的存储不在 NAS/SAN 上。我担心必须通过网络进行如此多的内存访问!
作为一个方面,我认为是 MS 摆脱分页并告诉我们购买更多 DIMM 的时候了。
访问本地主轴比 DIMM 慢 C40,000 倍,因此对于硬故障,通过网络访问会更慢。我不知道为什么我得到了否决票,我确信这是一个问题,除非 ESX/HyperV 中有其他机制来管理这个问题。
我发现了一些与此相关的有用链接和建议。
将虚拟机 (VM) vswap 和临时/页面文件托管在 NetApp 存储系统上不同卷上的单独 NFS 数据存储上。(分离瞬态数据可以更快地完成 NetApp Snapshot 副本并实现更高的存储效率。)
Hyper-V VM 性能提示:将页面文件 (pagefile.sys) 移动到另一个虚拟磁盘
在每个 ESXi 群集中为来宾 SWAP 文件设置数据存储,请参见右图。(不要使用本地 ESX 磁盘!这将节省更昂贵的 SAN 存储,但会导致 DRS 和虚拟机的 vMotion 延迟。)
来自 pubs.vmware.com 上的 ESX 4 故障排除建议:
对于资源密集型虚拟机,将虚拟机的物理磁盘驱动器与系统页面文件所在的驱动器分开。这在高使用率期间缓解了磁盘主轴争用。