【发布时间】:2021-08-17 13:27:11
【问题描述】:
我正在使用 RSA Authentication Manager SDK 通过 PowerShell 将代理添加到我们的 RSA Authentication Manager (8.X)。我可以使用以下代码毫无问题地查询现有代理:
$searchAgent = New-Object rsaapi.SearchAgentsCommand
$searchAgent = ($CommandServer.executeCommand($loginCommand.sessionId,$searchAgent)).agents
但是,在尝试添加新代理时,我从最后一行返回了 "Cannot convert argument "in1", with value: "rsaapi.AgentDTO", for "executeCommand" to type "rsaapi.TargetableCommand": "Cannot convert the "rsaapi.AgentDTO" value of type "rsaapi.AgentDTO" to type "rsaapi.TargetableCommand".""。这是我的代码 sn-p:
$hostDTO = New-Object rsaapi.HostDTO
$hostDTO.name = $servername
$hostDTO.primaryIpAddress = $ipAddress
$agentDTO = New-Object rsaapi.AgentDTO
$agentDTO.name = $servername
$agentDTO.primaryAddress = $ipAddress
$agentDTO.agentType = 1
$agentDTO.offlineAuthDataRefreshRequired = $false
$agentDTO.restriction = $false
$agentDTO.securityDomainId = 'ims.securityDomainGUID'
$agentDTO.securityDomainName = 'securityDomainName'
$addAgent = New-Object rsaapi.AddAgentCommand
$addAgent = $CommandServer.executeCommand($loginCommand.sessionId,$agentDTO)
AdminAPIDemo 下面的 Python 代码块展示了如何添加新代理:
def createAgent(self, name, addr, alt, sdGuid):
# need a HostDTO to be set
host = HostDTO()
host.setName(name)
host.setPrimaryIpAddress(addr)
host.setSecurityDomainGuid(sdGuid)
host.setNotes("Created by AM Demo code")
# the agent to be created
agent = AgentDTO()
agent.setName(name)
agent.setHost(host)
agent.setPrimaryAddress(addr)
agent.setAlternateAddresses(alt)
agent.setSecurityDomainId(sdGuid)
agent.setAgentType(AgentConstants.STANDARD_AGENT)
agent.setRestriction(1) # only allow activated groups
agent.setEnabled(1)
agent.setOfflineAuthDataRefreshRequired(0)
agent.setNotes("Created by AM Demo code")
cmd = AddAgentCommand(agent)
try:
cmd.execute()
except DuplicateDataException:
print "ERROR: Agent " + name + " already exists."
sys.exit(2)
# return the created agents GUID for further linking
return cmd.getAgentGuid()
任何帮助将不胜感激!
【问题讨论】:
标签: python powershell api sdk