I guess it's still the same thing:
*Playbook:*
ansible.windows.win_powershell:
script: |
try {
Get-Process | Where-Object {$_.ProcessName -eq
"ServerManager.exe"} | Stop-Process -Force
$file = Get-Item
"$env:USERPROFILE\AppData\Roaming\Microsoft\Windows\ServerManager\ServerList.xml"
Copy-Item -Path $file -Destination $file-backup -Force
$xml = [xml] (Get-Content $file )
$newserver1 = @($xml.ServerList.ServerInfo)[0].clone()
$newserver1.name = "{{ DomainController }}"
$newserver1.lastUpdateTime = "$(Get-Date -Format
"yyyy-MM-ddTHH:mm:ss")"
$newserver1.status = "1"
$xml.ServerList.AppendChild($newserver1)
$xml.Save($file.FullName)
$newserver2 = @($xml.ServerList.ServerInfo)[0].clone()
$newserver2.name = "{{ RDSServer }}"
$newserver2.lastUpdateTime = "$(Get-Date -Format
"yyyy-MM-ddTHH:mm:ss")"
$newserver2.status = "1"
$xml.ServerList.AppendChild($newserver2)
$xml.Save($file.FullName)
}
catch {
Write-Host "Failed - Add Servers to Server Manager"
-ForegroundColor Yellow
Write-Host $_.Exception.Message -ForegroundColor Yellow
}
*Error:*
2022-12-22T16:33:26.1424400Z TASK [../roles/rds_setup : Session Based Desktop
Deployment - Add Servers to Server Manager] ***
2022-12-22T16:33:26.1428096Z task path:
/home/sre_admin/myagent/_work/r1/a/_provisioning-services/playbooks/made2manage/roles/rds_setup/tasks/main.yml:63
2022-12-22T16:33:26.1855324Z Using module file
/usr/lib/python3/dist-packages/ansible_collections/ansible/windows/plugins/modules/win_powershell.ps1
2022-12-22T16:33:26.1860030Z Pipelining is enabled.
2022-12-22T16:33:26.1875537Z <10.177.38.137> ESTABLISH WINRM CONNECTION FOR
USER: Cloudops_Admin on PORT 5985 TO 10.177.38.137
2022-12-22T16:33:26.2763734Z EXEC (via pipeline wrapper)
2022-12-22T16:33:29.5133486Z changed: [10.177.38.137] => {
2022-12-22T16:33:29.5134245Z "changed": true,
2022-12-22T16:33:29.5134669Z "debug": [],
2022-12-22T16:33:29.5135375Z "error": [
2022-12-22T16:33:29.5135700Z {
2022-12-22T16:33:29.5136061Z "category_info": {
2022-12-22T16:33:29.5137127Z "activity": "Get-Item",
2022-12-22T16:33:29.5137582Z "category": "ObjectNotFound",
2022-12-22T16:33:29.5137981Z "category_id": 13,
2022-12-22T16:33:29.5138388Z "reason": "ItemNotFoundException",
2022-12-22T16:33:29.5138972Z "target_name":
"C:\\Users\\Amitabh.Ghosh\\AppData\\Roaming\\Microsoft\\Windows\\ServerManager\\ServerList.xml",
2022-12-22T16:33:29.5139525Z "target_type": "String"
2022-12-22T16:33:29.5139919Z },
2022-12-22T16:33:29.5140275Z "error_details": null,
2022-12-22T16:33:29.5140676Z "exception": {
2022-12-22T16:33:29.5141044Z "help_link": null,
2022-12-22T16:33:29.5141619Z "hresult": -2146233087,
2022-12-22T16:33:29.5142054Z "inner_exception": null,
2022-12-22T16:33:29.5142952Z "message": "Cannot find path
'C:\\Users\\Amitabh.Ghosh\\AppData\\Roaming\\Microsoft\\Windows\\ServerManager\\ServerList.xml'
because it does not exist.",
2022-12-22T16:33:29.5143625Z "source":
"System.Management.Automation",
2022-12-22T16:33:29.5144134Z "type":
"System.Management.Automation.ItemNotFoundException"
2022-12-22T16:33:29.5144583Z },
2022-12-22T16:33:29.5145878Z "fully_qualified_error_id":
"PathNotFound,Microsoft.PowerShell.Commands.GetItemCommand",
2022-12-22T16:33:29.5148102Z "output": "Get-Item : Cannot find path
'C:\\Users\\Amitabh.Ghosh\\AppData\\Roaming\\Microsoft\\Windows\\ServerManager\\ServerList.xml'
\r\nbecause it does not exist.\r\nAt line:3 char:13\r\n+ $file = Get-Item
\"$env:USERPROFILE\\AppData\\Roaming\\Microsoft\\Wind ...\r\n+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n + CategoryInfo
: ObjectNotFound: (C:\\Users\\Amitab...\\ServerList.xml:String)
[Get-Item], \r\nItemNotFoundException\r\n + FullyQualifiedErrorId :
PathNotFound,Microsoft.PowerShell.Commands.GetItemCommand\r\n \r\n",
2022-12-22T16:33:29.5149506Z "pipeline_iteration_info": [
2022-12-22T16:33:29.5149823Z 0,
2022-12-22T16:33:29.5150108Z 1
2022-12-22T16:33:29.5150371Z ],
2022-12-22T16:33:29.5150724Z "script_stack_trace": "at
<ScriptBlock>, <No file>: line 3",
2022-12-22T16:33:29.5151281Z "target_object":
"C:\\Users\\Amitabh.Ghosh\\AppData\\Roaming\\Microsoft\\Windows\\ServerManager\\ServerList.xml"
2022-12-22T16:33:29.5151731Z }
2022-12-22T16:33:29.5152005Z ],
2022-12-22T16:33:29.5152304Z "failed_when_result": false,
2022-12-22T16:33:29.5152838Z "host_err": "",
2022-12-22T16:33:29.5153549Z "host_out": "Failed - Add Servers to Server
Manager\nCannot bind argument to parameter 'Path' because it is null.\n",
2022-12-22T16:33:29.5154025Z "information": [
2022-12-22T16:33:29.5154325Z {
2022-12-22T16:33:29.5154605Z "message_data": {
2022-12-22T16:33:29.5154943Z "BackgroundColor": null,
2022-12-22T16:33:29.5155274Z "ForegroundColor": {
2022-12-22T16:33:29.5155594Z "String": "Yellow",
2022-12-22T16:33:29.5155951Z "Type": "System.ConsoleColor",
2022-12-22T16:33:29.5156280Z "Value": 14
2022-12-22T16:33:29.5156573Z },
2022-12-22T16:33:29.5157090Z "Message": "Failed - Add Servers
to Server Manager",
2022-12-22T16:33:29.5157500Z "NoNewLine": false
2022-12-22T16:33:29.5158470Z },
2022-12-22T16:33:29.5158849Z "source": "Write-Host",
2022-12-22T16:33:29.5159076Z "tags": [
2022-12-22T16:33:29.5159298Z "PSHOST"
2022-12-22T16:33:29.5159487Z ],
2022-12-22T16:33:29.5159918Z "time_generated":
"2022-12-22T16:33:29.0534558Z"
2022-12-22T16:33:29.5160209Z },
2022-12-22T16:33:29.5160515Z {
2022-12-22T16:33:29.5160713Z "message_data": {
2022-12-22T16:33:29.5160973Z "BackgroundColor": null,
2022-12-22T16:33:29.5161220Z "ForegroundColor": {
2022-12-22T16:33:29.5161457Z "String": "Yellow",
2022-12-22T16:33:29.5161729Z "Type": "System.ConsoleColor",
2022-12-22T16:33:29.5161974Z "Value": 14
2022-12-22T16:33:29.5162169Z },
2022-12-22T16:33:29.5162667Z "Message": "Cannot bind argument
to parameter 'Path' because it is null.",
2022-12-22T16:33:29.5162997Z "NoNewLine": false
2022-12-22T16:33:29.5163216Z },
2022-12-22T16:33:29.5163552Z "source": "Write-Host",
2022-12-22T16:33:29.5163785Z "tags": [
2022-12-22T16:33:29.5163997Z "PSHOST"
2022-12-22T16:33:29.5164184Z ],
2022-12-22T16:33:29.5164605Z "time_generated":
"2022-12-22T16:33:29.0690815Z"
2022-12-22T16:33:29.5164896Z }
2022-12-22T16:33:29.5165066Z ],
2022-12-22T16:33:29.5165254Z "invocation": {
2022-12-22T16:33:29.5165483Z "module_args": {
2022-12-22T16:33:29.5165707Z "arguments": null,
2022-12-22T16:33:29.5165929Z "chdir": null,
2022-12-22T16:33:29.5166163Z "creates": null,
2022-12-22T16:33:29.5166377Z "depth": 2,
2022-12-22T16:33:29.5166609Z "error_action": "continue",
2022-12-22T16:33:29.5166870Z "executable": null,
2022-12-22T16:33:29.5167103Z "parameters": null,
2022-12-22T16:33:29.5167329Z "removes": null,
2022-12-22T16:33:29.5172545Z "script": "try {\n Get-Process |
Where-Object {$_.ProcessName -eq \"ServerManager.exe\"} | Stop-Process -Force\n
$file = Get-Item
\"$env:USERPROFILE\\AppData\\Roaming\\Microsoft\\Windows\\ServerManager\\ServerList.xml\"\n
Copy-Item -Path $file -Destination $file-backup -Force\n $xml = [xml]
(Get-Content $file )\n $newserver1 =
@($xml.ServerList.ServerInfo)[0].clone()\n $newserver1.name =
\"DM2MDC01.DM2MDEV.LOCAL\" \n $newserver1.lastUpdateTime = \"$(Get-Date
-Format \"yyyy-MM-ddTHH:mm:ss\")\"\n $newserver1.status = \"1\"\n
$xml.ServerList.AppendChild($newserver1)\n $xml.Save($file.FullName)\n
$newserver2 = @($xml.ServerList.ServerInfo)[0].clone()\n $newserver2.name =
\"DM2MSAASRDS01.DM2MDEV.LOCAL\" \n $newserver2.lastUpdateTime = \"$(Get-Date
-Format \"yyyy-MM-ddTHH:mm:ss\")\"\n $newserver2.status = \"1\"\n
$xml.ServerList.AppendChild($newserver2)\n
$xml.Save($file.FullName)\n}\ncatch {\n Write-Host \"Failed - Add Servers
to Server Manager\" -ForegroundColor Yellow\n Write-Host
$_.Exception.Message -ForegroundColor Yellow \n}\n"
2022-12-22T16:33:29.5175101Z }
2022-12-22T16:33:29.5175292Z },
2022-12-22T16:33:29.5175478Z "output": [],
2022-12-22T16:33:29.5175682Z "result": {},
2022-12-22T16:33:29.5175910Z "verbose": [],
2022-12-22T16:33:29.5176114Z "warning": []
2022-12-22T16:33:29.5176295Z }
Not sure why it can't find the path when it is right there....
On Thursday, December 22, 2022 at 8:23:52 AM UTC+5:30 [email protected]
wrote:
> I have no experience whatsoever with windows modules, but this looks
> pretty clear to me:
>
> "message": "Cannot find path
>> 'C:\\Users\\Amitabh.Ghosh\\AppData\\Roaming\\Microsoft\\Windows\\ServerManager\\ServerList.xml'
>>
>> because it does not exist.",
>
>
> Perhaps an escaping issue? According to
> https://docs.ansible.com/ansible/latest/os_guide/windows_usage.html when
> yaml code is not quoted (like in your situation) the backslash does not
> need to be escaped.
> Try without the double escapes:
>
> script: |
> try {
> Get-Process | Where-Object {$_.ProcessName -eq
> "ServerManager.exe"} | Stop-Process -Force
> $file = Get-Item
> "$env:USERPROFILE\AppData\Roaming\\Microsoft\Windows\ServerManager\ServerList.xml"
>
>
>
> --
> Sent from Gmail Mobile
>
--
You received this message because you are subscribed to the Google Groups
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/74750cfa-6448-49c1-bc06-8b6ed084e507n%40googlegroups.com.