标签: windows-server-2012

什么可能导致GET Web请求上的"不支持证书密钥算法"异常

我们正在尝试使用标准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)

c# facebook-graph-api windows-server-2012

7
推荐指数
1
解决办法
2823
查看次数

Powershell输出和GUI之间的Windows防火墙状态不同

当我运行 Get-NetFirewallProfile时, 我看到“域”配置文件“已启用”设置为True。但是,当我转到“控制面板”>“ Windows防火墙”时,GPO关闭了域配置文件。另外,在具有高级设置的Windows防火墙中,防火墙状态为“关”。

我不确定为什么powershell输出与GUI不同。请帮忙!

谢谢,AB

windows powershell firewall windows-server-2012

7
推荐指数
1
解决办法
1328
查看次数

Add-LocalGroupMember 在 Windows Server 2012 上未被识别为 cmdlet、函数、脚本或文件

有没有办法在 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 windows-server-2012 powershell-4.0

7
推荐指数
1
解决办法
1万
查看次数

Powershell:永久修改路径,“不允许访问请求的注册表。”

我需要将脚本文件夹永久添加到我的 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)。

registry powershell path powercli windows-server-2012

6
推荐指数
1
解决办法
1万
查看次数

PowerShell:如何返回Hyper-V群集中的所有VM

我是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)

标题和下划线?

powershell hyper-v failovercluster windows-server-2012

6
推荐指数
2
解决办法
4万
查看次数

密钥集不存在/身份无效

注意:我在这里发现了几个类似的问题,但是那个被解决的问题对我来说并不适用.所以我想我会开一个新问题.

我重新启动了我们的服务器2012框,它托管我们新的.net应用程序.这样做之后,我开始收到503错误.经过调查,这似乎是一个身份问题.

在进一步说明之前,我应该说这个帐户已经工作了几个月了.我以前重新启动过,一切都很顺利.

所以我在日志中得到(很常见的)5059,5057和5021错误.他们归结为:

应用程序池SVFileUpload的标识无效.为身份指定的用户名或密码可能不正确,或者用户可能没有批量登录权限.如果未更正标识,则在应用程序池收到第一个请求时将禁用应用程序池.如果批处理登录权限导致问题,则在Windows进程激活服务(WAS)重试登录之前,必须在授予权限后更改IIS配置存储中的标识.如果在处理完第一次应用程序池请求后标识仍然无效,则将禁用应用程序池.数据字段包含错误编号.

我想我只是确保密码和帐户是正确的,所以我去应用程序池,选择identity-> custom并确保它设置正确.我收到一个错误:

执行此操作时出错.详细信息:键集不存在(HRESULT异常:0x80090016)

这对我来说很奇怪,所以我尝试将应用程序池设置为内置帐户,并且工作正常.每当我尝试设置自定义帐户时,我都会收到此错误消息.此外,不会运行使用自定义帐户的应用池.

我用Google搜索了一下,不确定哪个错误是我需要跟踪的.我试过了:

  • 通过aspnet_工具在命令行上注册帐户
  • 确保用户位于IIS_IUSRS组中
  • 更改C:\ ProgramData\Microsoft\Crypto\RSA\MachineKeys文件的权限
  • 添加一个全新的用户并尝试将应用程序池设置为该用户帐户

我在Google上尝试了几个随机的东西,但我不记得了.

这个错误对我来说没有意义,而且似乎是随机的.我需要帮助搞清楚1)为什么我不能将应用程序池设置为自定义帐户以及2)为什么身份不再适用于我的应用程序

-Edit
我最近删除并重新添加了我一直在使用的用户帐户.我认为这解决了这个问题.剩下的问题是我无法更新应用程序池,因为"keyset不存在"错误.

iis windows-server-2012

6
推荐指数
2
解决办法
2万
查看次数

New-Object:术语New-Object不被识别为cmdlet的名称

我想为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 …

powershell sharepoint-2013 windows-server-2012

6
推荐指数
1
解决办法
1万
查看次数

即使在满载情况下,Elasticsearch 也仅使用一半的 CPU 内核

我已经在我的服务器(Windows Server 2012)上安装了 Elasticsearch。当我运行多个查询请求作为压力测试时,只使用了一半的 CPU 内核。为什么?

CPU 核心利用率 - 压力测试下的 Elasticsearch

multithreading multicore elasticsearch windows-server-2012

6
推荐指数
1
解决办法
5466
查看次数

如何使用wmi连接远程机器?

我正在尝试使用 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)

我还授予所有权限(https://social.technet.microsoft.com/Forums/office/en-US/4f33837b-1cb1-4648-85b1-3ba87cbfe93e/wmi-remote-access-denied?forum=winserverManagement

编辑:堆栈跟踪;

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)

java wmi j-interop windows-server-2012

6
推荐指数
0
解决办法
909
查看次数

如何在批处理脚本中刷新 PATH 环境变量

我有一个批处理文件“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

6
推荐指数
2
解决办法
2万
查看次数