我们正在尝试使用标准webrequest从asp .net MVC 4.6应用程序连接到facebook api.除了我们的一台服务器之外,其他所有服 有问题的服务器正在运行Windows 2012和IIS 8.
在这个特定的服务器上,我们在向Facebook运行GET webrequest时会遇到以下异常.
不支持证书密钥算法.
描述:执行当前Web请求期间发生未处理的异常.请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息.
异常详细信息:System.NotSupportedException:不支持证书密钥算法.
来源错误:
在执行当前Web请求期间生成了未处理的异常.可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息.
堆栈跟踪:
[NotSupportedException:不支持证书密钥算法.] System.Net.TlsStream.EndWrite(IAsyncResult asyncResult)+409 System.Net.ConnectStream.WriteHeadersCallback(IAsyncResult ar)+213
[WebException:底层连接已关闭:发送时发生意外错误.]
System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)+894 System.Net.Http.HttpClientHandler.GetResponseCallback(IAsyncResult ar)+92[HttpRequestException:发送请求时发生错误.]
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()+32
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)+96 System.Runtime.CompilerServices.TaskAwaiter`1. GetResult()+49
代码如下所示:
// Request
private static async Task<T> Request<T>(string url) where T : class
{
using (var handler = new WebRequestHandler())
{
handler.ServerCertificateValidationCallback = delegate { return true; };
using (var client = new HttpClient(handler) { Timeout = System.TimeSpan.FromSeconds(20) })
{
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var result = await client.GetAsync(url);
if …Run Code Online (Sandbox Code Playgroud) 当我运行 Get-NetFirewallProfile时, 我看到“域”配置文件“已启用”设置为True。但是,当我转到“控制面板”>“ Windows防火墙”时,GPO关闭了域配置文件。另外,在具有高级设置的Windows防火墙中,防火墙状态为“关”。
我不确定为什么powershell输出与GUI不同。请帮忙!
谢谢,AB
有没有办法在 Windows Server 2012 上添加 addlocalgroupmember 模块?我没有找到任何。我需要在本地管理员组中添加 AD 帐户,但我找不到方法。
我能达到的最接近的是使用以下命令安装 activedirectory-powershell 功能,但这也没有帮助。
基本上我需要找到一种在 win server 2012 上运行类似于以下命令的 powershell 命令的方法 -
Add-LocalGroupMember -Group "Administrators" -Member "domain\user"
Run Code Online (Sandbox Code Playgroud) 我需要将脚本文件夹永久添加到我的 PowerShell 路径(不仅仅是特定会话)。我正在运行以下代码:
[System.Environment]::SetEnvironmentVariable("PATH", $Env:Path + ";C:\scripts", "Machine")
Run Code Online (Sandbox Code Playgroud)
错误如下:
使用“3”个参数调用“SetEnvironmentVariable”时出现异常:“不允许请求的注册表访问。”
如何获得注册表访问权限/修复此问题?
编辑:不确定它是否有帮助,但我在 Windows Server 2012 上使用 PowerCLI(VMware PowerShell API)。
我是PowerShell的第一次程序员.在Windows Server 2012上运行.
我正在尝试获取故障转移群集上所有VM的列表并正在使用此代码:
$clusterNodes = Get-ClusterNode | select Name
ForEach($item in $clusterNodes)
{Get-VM -ComputerName $item}
Run Code Online (Sandbox Code Playgroud)
这会返回一堆错误
但是,这完全没问题
$hosts = "server1", "server2", "server3", "server4"
ForEach($item in $hosts)
{Get-VM -ComputerName $item}
Run Code Online (Sandbox Code Playgroud)
它是否失败,因为Get-ClusterNode | select Name返回以下内容?
Name
----
server1
server2
server3
server4
Run Code Online (Sandbox Code Playgroud)
标题和下划线?
注意:我在这里发现了几个类似的问题,但是那个被解决的问题对我来说并不适用.所以我想我会开一个新问题.
我重新启动了我们的服务器2012框,它托管我们新的.net应用程序.这样做之后,我开始收到503错误.经过调查,这似乎是一个身份问题.
在进一步说明之前,我应该说这个帐户已经工作了几个月了.我以前重新启动过,一切都很顺利.
所以我在日志中得到(很常见的)5059,5057和5021错误.他们归结为:
应用程序池SVFileUpload的标识无效.为身份指定的用户名或密码可能不正确,或者用户可能没有批量登录权限.如果未更正标识,则在应用程序池收到第一个请求时将禁用应用程序池.如果批处理登录权限导致问题,则在Windows进程激活服务(WAS)重试登录之前,必须在授予权限后更改IIS配置存储中的标识.如果在处理完第一次应用程序池请求后标识仍然无效,则将禁用应用程序池.数据字段包含错误编号.
我想我只是确保密码和帐户是正确的,所以我去应用程序池,选择identity-> custom并确保它设置正确.我收到一个错误:
执行此操作时出错.详细信息:键集不存在(HRESULT异常:0x80090016)
这对我来说很奇怪,所以我尝试将应用程序池设置为内置帐户,并且工作正常.每当我尝试设置自定义帐户时,我都会收到此错误消息.此外,不会运行使用自定义帐户的应用池.
我用Google搜索了一下,不确定哪个错误是我需要跟踪的.我试过了:
我在Google上尝试了几个随机的东西,但我不记得了.
这个错误对我来说没有意义,而且似乎是随机的.我需要帮助搞清楚1)为什么我不能将应用程序池设置为自定义帐户以及2)为什么身份不再适用于我的应用程序
-Edit
我最近删除并重新添加了我一直在使用的用户帐户.我认为这解决了这个问题.剩下的问题是我无法更新应用程序池,因为"keyset不存在"错误.
我想为SharePoint中的app dev配置高可信应用程序,最后这样做我需要先在powershell编辑器中插入一些命令,如:
$publicCertPath = "C:\Certs\HighTrustSampleCert.cer"
$certificate = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2($publicCertPath)
Run Code Online (Sandbox Code Playgroud)
我在Windows Server 2012 R2上使用Windows PowerShell,其中包括Windows PowerShell 4,默认情况下包含新对象cmd-let ...但我不明白,为什么我的系统不识别该命令....时间我收到以下错误:New-Object:术语'New-Object'不被识别为cmdlet的名称.
每次打开电源外壳时都会显示以下错误:
*选择 :
术语"选择对象"不被识别为cmdlet,函数,脚本文件或可操作程序的名称.检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试.在C:\ Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\CONFIG\POWERSHELL\Registration\SharePoint.ps1:1 char:16 + $ ver = $ host | select version + ~~~~~~ + CategoryInfo:ObjectNotFound:(Select-Object:String)[],逗号ndNotFoundException + FullyQualifiedErrorId:CommandNotFoundException设置位置:术语"设置位置"不被识别为cmdlet的名称,功能,脚本文件或可操作程序.检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后再次尝试在C:\ Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\CONFIG\POWERSHELL\Registration\SharePoint. ps1:4 char:1 + Set-location $ home + ~~~~~~~~~~~~ + CategoryInfo:ObjectNotFound:(Set-location:String)[],Comman dNotFoundException + FullyQualifiedErrorId:CommandNotFoundException*
我认为这是正常的,直到今天......它与错误有任何关系吗?这是洞(新对象)异常堆栈:
New-Object:术语"New-Object"不被识别为cmdlet,函数,脚本文件或可操作程序的名称.检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试.在行:1 char:16 + $ certificate = New-Object System.Security.Cryptography.X509Certificates.X509Cert ... + ~~~~~~~~~~ + CategoryInfo:ObjectNotFound:(New-Object:String)[ ],CommandN otFoundException + FullyQualifiedErrorId:CommandNotFoundException …
我已经在我的服务器(Windows Server 2012)上安装了 Elasticsearch。当我运行多个查询请求作为压力测试时,只使用了一半的 CPU 内核。为什么?

我正在尝试使用 wmi4j 连接远程 Windows Server 2012 计算机,但出现“访问被拒绝”错误。但我可以使用 WMI Explorer 2016 程序成功连接这台远程计算机。
这是代码;
private static String server = "****";
private static String username = "**\\Administrator";
private static String password = "pass";
private static String namespace = "root\\cimv2";
SWbemLocator locator = new SWbemLocator(server,username,password,namespace);
SWbemServices services = locator.connectServer(); //this line throws exception
Run Code Online (Sandbox Code Playgroud)
编辑:堆栈跟踪;
cn.chenlichao.wmi4j.WMIException: Access is denied, please check whether the [domain-username-password] are correct. Also, if not already done please check the GETTING STARTED and FAQ sections in readme.htm. …Run Code Online (Sandbox Code Playgroud) 我有一个批处理文件“file.bat”,它将使用以下命令调用安装程序:
msiexec.exe /i "%~dp0\installer.msi"
Run Code Online (Sandbox Code Playgroud)
安装程序将安装程序并更新 Path 变量。虽然这工作正常,但问题是当我尝试启动程序时找不到它,因为显然 PATH 变量没有更新。我尝试从内部重新启动批处理文件:
start cmd /c file.bat
Run Code Online (Sandbox Code Playgroud)
但它没有用。有没有办法刷新 PATH 变量或在新进程中重新启动批处理文件,以便检测新环境?
PS:手动重新启动批处理文件当然有效,但这不是我想要的。
谢谢。
windows path batch-file environment-variables windows-server-2012