Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Authentication 首先尝试内置凭证,然后提示输入另一个凭证_Authentication_Powershell_Credentials - Fatal编程技术网

Authentication 首先尝试内置凭证,然后提示输入另一个凭证

Authentication 首先尝试内置凭证,然后提示输入另一个凭证,authentication,powershell,credentials,Authentication,Powershell,Credentials,我想查询服务器,比如内存 gwmi win32_freephysicalmemory -computername server1 -credential $cred 我知道获取凭据以及构造pscredential对象, 但是我想首先尝试使用我的当前凭据进行查询,如果我得到未授权的异常,我将使用get credentials提示输入新凭据。 通过这种方式,我可以从工作站或服务器上运行脚本(我不使用相同的creds) 我想我一开始需要向$cred提供我的当前凭据,如果失败,则在catchblock

我想查询服务器,比如内存

gwmi win32_freephysicalmemory -computername server1 -credential $cred
我知道获取凭据以及构造pscredential对象, 但是我想首先尝试使用我的当前凭据进行查询,如果我得到未授权的异常,我将使用get credentials提示输入新凭据。 通过这种方式,我可以从工作站或服务器上运行脚本(我不使用相同的creds)


我想我一开始需要向$cred提供我的当前凭据,如果失败,则在catchblock中对其进行更改,但是如何将登录的凭据转储到pscreential对象?

您是否尝试过
[System.Management.Automation.PSCredential]::Empty

你在用PS3.0吗? 您可以使用设置默认参数值

$PSDefaultParameterValues.Add('Get-WMIObject:Credential',[System.Management.Automation.P
SCredential]::Empty)

并且,当此操作失败时,您可以查找凭证参数。

您是否尝试过
[System.Management.Automation.PSCredential]::Empty

你在用PS3.0吗? 您可以使用设置默认参数值

$PSDefaultParameterValues.Add('Get-WMIObject:Credential',[System.Management.Automation.P
SCredential]::Empty)

并且,当此操作失败时,您可以查找凭据参数。

尝试将$cred设置为[System.net.credentialcache]::DefaultCredential,但由于它返回一个接口,我不确定是否可以强制转换为pscredential对象。我尝试将$cred设置为[System.net.credentialcache]::DefaultCredential,但由于它返回一个接口,我不确定是否可以强制转换到pscredential对象!正是我想要的。。当我传递cred对象以获取从Empty()返回的wmi时,Powershell(或dotnet)似乎在使用我的登录凭据,因为该对象为空?或者别的什么,也一样好。
$creds=[System.Management.Automation.PSCredential]::空的试试{Get WmiObject-Class Win32\u PhysicalMemory-ComputerName server-Credential$credentials}catch[System.UnauthorizedAccessException]{写警告“未授权”$creds=Get Credential-Message“给我其他凭据”}最后{“重试…
n”Get-WmiObject-Class Win32_PhysicalMemory-ComputerName server-Credential$creds}`正确!这正是我所寻找的。当我传递cred对象以获取从Empty()返回的wmi时,Powershell(或dotnet)似乎使用了我登录的凭据,因为该对象是空的?或者其他类似的东西。
$creds=[System.Management.Automation.PSCredential]::空的try{Get WMIOObject-Class Win32_PhysicalMemory-ComputerName server-Credential$credentials}捕获[System.UnauthorizedAccessException]{写入警告“未授权”$credentials=Get Credential-Message“给我其他凭据”}最后{“重试…”
n“获取WmiObject-Class Win32_PhysicalMemory-ComputerName服务器-Credential$creds}`