Tôi đang cố gắng tự động hóa toàn bộ quá trình triển khai Phiên máy tính từ xa nhưng gặp sự cố khi thêm cổng thông qua powershell. Tôi có thể thêm từng máy chủ ngoại trừ cổng. Cái nào tạo ra lỗi:
Không thể tạo chính sách ủy quyền tài nguyên Máy tính Từ xa trên <tên máy tính>. lỗi là
Tham chiếu đối tượng không được đặt thành phiên bản của đối tượng.. Vui lòng kiểm tra nhật ký sự kiện trên máy chủ RD Gateway để biết thêm thông tin.
Tôi không thấy gì trong bất kỳ nhật ký nào có thể giúp tôi khắc phục sự cố này.
Nếu tôi đến trình quản lý máy chủ và thêm nó qua giao diện người dùng này:
Mọi thứ hoạt động như mong đợi. Có một bước bổ sung cần thiết để làm cho công việc này?
Đây là tập lệnh hiện đang chạy (EC2, dữ liệu người dùng):
<powershell>
try {
$SecretAD = "SuperSecretSauceSuzzySaid"
$SecretObj = (Get-SECSecretValue -SecretId $SecretAD)
}catch {
Write-Output 'Failed to get Secret'
return
}
$sys = Get-WmiObject -Class Win32_ComputerSystem
if ( -Not ($sys.PartOfDomain))
{
Write-Output "Not A domain member yet. Joining..."
[PSCustomObject]$Secret = ($SecretObj.SecretString | ConvertFrom-Json)
$password = $Secret.password | ConvertTo-SecureString -asPlainText -Force
$username = $Secret.username
$credential = New-Object System.Management.Automation.PSCredential($username, $password)
Write-Output "Starting Domain Join and Restarting"
Add-Computer -DomainName "6565.fake.com" -Credential $credential -Restart -Force
Write-Output "Initiating restart..."
}
Try {
$process = (Get-NetAdapterBinding -InterfaceAlias "Ethernet" -ComponentID ms_tcpip6).Enabled
If ($process.toString() -ne "False"){
Get-NetAdapterBinding âInterfaceAlias "Ethernet"
Disable-NetAdapterBinding âInterfaceAlias "Ethernet" âComponentID ms_tcpip6
Write-Output "Disabled ipv6"
Import-Module RemoteDesktop
Add-WindowsFeature âName RDS-RD-Server âIncludeAllSubFeature
Write-Output "Restarting..."
Restart-Computer -Force
}
Start-Sleep 200
$installed = (Get-WindowsFeature RDS-RD-Server).Installed
If ($installed.toString() -eq "True"){
$broker = (Get-WindowsFeature RDS-Connection-Broker).Installed
If ($broker.toString() -eq "False"){
$ErrorActionPreference = 'SilentlyContinue'
Write-Output "Installing the new session deployment"
New-RDSessionDeployment -ConnectionBroker "$env:COMPUTERNAME.6565.fake.com" -SessionHost "$env:COMPUTERNAME.6565.fake.com"
Write-Output "Restarting..."
Restart-Computer -Force
}
}
Start-Sleep -Seconds 100
New-RDSessionCollection -CollectionName QuickSessionCollection -SessionHost "$env:COMPUTERNAME.6565.fake.com" -CollectionDescription "POR Stuff" -ConnectionBroker "$env:COMPUTERNAME.6565.fake.com"
Write-Output "Installing Gateway with managnent tools"
Add-WindowsFeature -Name RDS-Gateway -IncludeManagementTools -ComputerName $env:COMPUTERNAME
Start-Sleep -Seconds 100
Add-RDServer -Server "$env:COMPUTERNAME.6565.fake.com" -Role "RDS-GATEWAY" -ConnectionBroker "$env:COMPUTERNAME.6565.fake.com" -GatewayExternalFqdn "6565.fake.com"
Add-RDServer -Server "$env:COMPUTERNAME.6565.fake.com" -Role "RDS-LICENSING" -ConnectionBroker "$env:COMPUTERNAME.6565.fake.com"
} Catch [System.Exception] {
Write-Output "Failed"
Write-Output "Failed to install RD Gateway components $_"
Exit 0
}
</powershell>
<persist>true</persist>