Я пытаюсь написать скрипт для получения сертификатов IIS с истекшим сроком действия по доменам.Я могу запустить скрипт без каких-либо ошибок, находясь в том же домене, что и список серверов, но не могу пересечь домены, даже если у пользователя, которого я использую, есть доступ администратора ко всем доменам.
Я попытался использовать New-PSSesiion и передать его в Invoke-Command, и я получаю ошибку: WindRM не может обработать запрос.
cd C:\Deploy\Certs
Enable-PSRemoting –force
#set up path and user variables
$AESKeyFilePath = “aeskey.txt” # location of the AESKey
$SecurePwdFilePath = “credpassword.txt” # location of the file that hosts the encrypted password
$user = "DOMAIN\Username" # User account login
#use key and password to create local secure password
$AESKey = Get-Content -Path $AESKeyFilePath
$pwdTxt = Get-Content -Path $SecurePwdFilePath
$securePass = $pwdTxt | ConvertTo-SecureString -Key $AESKey
#crete a new psCredential object with required username and password
$adminCreds = New-Object System.Management.Automation.PSCredential($user, $securePass)
$ServerList=Get-Content .\components\hosts.txt
foreach ( $Server in $ServerList ) {
Write-Host "Checking $Server is up"
if ( ( Test-Connection $Server -Quiet ) -eq $True ) {
# Open remote session:
#$session = New-PSSession -ComputerName $Server -Credential $adminCreds -ThrottleLimit 16
Invoke-Command -ComputerName $Server -ScriptBlock {
Import-Module -Name WebAdministration
Get-ChildItem -Path IIS:SSLBindings | ForEach-Object -Process `
{
if ($_.Sites)
{
$certificate = Get-ChildItem -Path CERT:LocalMachine/My |
Where-Object -Property Thumbprint -EQ -Value $_.Thumbprint
[PsCustomObject]@{
HostName = $Env:COMPUTERNAME
Sites = $_.Sites.Value
CertificateFriendlyName = $certificate.FriendlyName
CertificateDnsNameList = $certificate.DnsNameList
CertificateExpiration = $certificate.NotAfter
CertificateIssuer = $certificate.Issuer
}
}
}
}| Out-File .\expired_Certs.txt -append #-NoTypeInformation
}
}
сообщение об ошибке:
WinRM не может обработать запрос.При использовании аутентификации Kerberos произошла следующая ошибка с кодом ошибки 0x80090311: Мы не можем войти в систему с помощью этих учетных данных, поскольку ваш домен недоступен.Убедитесь, что ваше устройство подключено к сети вашей организации и повторите попытку.Если вы ранее входили на это устройство с другими учетными данными, вы можете выполнить вход с этими учетными данными.