Deep dive in Citrix Troubleshooting

33,100 views
33,807 views

Published on

Slides from Bay Area Citrix User Group meeting (BayCUG)

Published in: Technology
1 Comment
15 Likes
Statistics
Notes
No Downloads
Views
Total views
33,100
On SlideShare
0
From Embeds
0
Number of Embeds
27,514
Actions
Shares
0
Downloads
0
Comments
1
Likes
15
Embeds 0
No embeds

No notes for slide
  • PS C:\> Get-ChildItem -Recurse *.config |Select-String "net.pipe://localhost/Citrix/Authentication/Win32" |Select-Object -Property Path,LineNumber|Out-GridView -OutputMode Multiple|%{notepad $_.Path}
  • PS C:\> Get-WmiObject -Class Win32_Service -Filter "pathname like '%defaultdomainservices%'"|Select-Object -Property Displayname, PathName, Started|Out-GridView
  • PS C:\> Get-ChildItem -Recurse *.config |Select-String "net.pipe://localhost/Citrix/Authentication/Win32" |Select-Object -Property Path,LineNumber|Out-GridView -OutputMode Multiple|%{notepad $_.Path}
  • PS C:\> Get-ChildItem -Recurse *.config |Select-String "net.pipe://localhost/Citrix/Authentication/Win32" |Select-Object -Property Path,LineNumber|Out-GridView -OutputMode Multiple|%{notepad $_.Path}
  • Get-ChildItem -Recurse *.config -ErrorActionSilentlyContinue|Select-String "Program Files\\Citrix\\Receiver StoreFront\\Admin\\Trace" |Select-Object -Property Path,LineNumber|Out-GridView -OutputMode Multiple|%{c:\SvcConfigEditor.exe $_.Path}
  • Deep dive in Citrix Troubleshooting

    1. 1. Citrix Troubleshooting: Deep Dive Denis Gundarev Senior Consultant Entisys Solutions
    2. 2. Guide to troubleshooting Phase 1 Phase 2 Phase 3 Identify the Issue Profit
    3. 3. StoreFront Troubleshooting
    4. 4. What’s the topic? • Not a basic “Restart the computer” stuff • Do not restart the computer if you going to troubleshoot the issue • Not a CDF tracing tutorial • Search for TechEdge presentations on citrix.com • Not a dump analysis workshop • Check Dmitry Vostokov’s dumpanalosys.com
    5. 5. Generic Errors in StoreFront
    6. 6. Step 1: Check event logs
    7. 7. Search Files for Text PS C:>Get-ChildItem -Recurse *.config|Select-String "net.pipe://localhost/Citrix/Authentication/Win32" Select-Object -Property Path, LineNumber | |Out-GridView -OutputMode Multiple |%{notepad $_.Path}
    8. 8. Find Service by Executable Path PS C:>Get-WmiObject -Class Win32_Service -Filter "pathname like '%defaultdomainservices%'" Select-Object -Property Displayname, PathName, Started | |Out-GridView
    9. 9. Search Files for Text PS C:>Get-ChildItem -Recurse *.config|Select-String "loadbalancer.corp.itbubble.ru" Select-Object -Property Path, LineNumber | |Out-GridView -OutputMode Multiple |%{notepad $_.Path}
    10. 10. Search Files for Text PS C:>Get-ChildItem -Recurse *.config|Select-String "loadbalancer.corp.itbubble.ru" Select-Object -Property Path, LineNumber | |Out-GridView -OutputMode Multiple |%{notepad $_.Path}
    11. 11. Fiddler
    12. 12. Fiddler
    13. 13. Fiddler • Set-Cookie: NSC_ttmx=ffffffffc3a01fa645525d5f4f58455e445a4a423660;expires=Sun, 14- Jul-2013 13:46:47 GMT;path=/;secure;httponly • Set-Cookie: NSC_ttmx=ffffffffc3a01fa245525d5f4f58455e445a4a423660;expires=Sun, 14- Jul-2013 13:47:15 GMT;path=/;secure;httponly • Set-Cookie: NSC_ttmx=ffffffffc3a01fa645525d5f4f58455e445a4a423660;expires=Sun, 14- Jul-2013 13:47:15 GMT;path=/;secure;httponly • Set-Cookie: NSC_ttmx=ffffffffc3a01fa245525d5f4f58455e445a4a423660;expires=Sun, 14- Jul-2013 13:47:15 GMT;path=/;secure;httponly
    14. 14. StoreFront tracing • http://support.citrix.com/proddocs/topic/dws-storefront-10/dws- troubleshoot.html • To enable tracing • Using an account with local administrator permissions on the Receiver Storefront server, start Windows PowerShell and, at a command prompt, type the following commands. • > Add-PSSnapin Citrix.DeliveryServices.Framework.Commands • > Set-DSTraceLevel -All -TraceLevel Verbose • To disable tracing, type the following commands. • > Add-PSSnapin Citrix.DeliveryServices.Framework.Commands • > Set-DSTraceLevel -All -TraceLevel Off
    15. 15. StoreFront tracing
    16. 16. Service Configuration Editor • Available with Windows SDK • allows administrators to modify configuration settings for WCF services using a graphical user interface
    17. 17. Search Files for Text PS C:>Get-ChildItem -Recurse *.config -ErrorAction SilentlyContinue | |Select-Object -Property Path,LineNumber |Select-String "Program FilesCitrixReceiver StoreFrontAdminTrace" Out-GridView -OutputMode Multiple |%{c:SvcConfigEditor.exe $_.Path}
    18. 18. Set up XML tracing • Diagnostics -> Listeners -> SetDSTraceLevelCmdletListener
    19. 19. Set up XML tracing • InitData -> c:temp<ServiceName>.svclog • TypeOutputOptions -> -> Check all fields • TypeName -> System.Diagnostics.XmlWriterTraceListener
    20. 20. Service Trace Viewer Tool (SvcTraceViewer.exe)
    21. 21. Service Trace Viewer Tool (SvcTraceViewer.exe)
    22. 22. Receiver for Web
    23. 23. 26
    24. 24. 27
    25. 25. 28
    26. 26. 29
    27. 27. 30
    28. 28. ILSpy .Net Decomplier
    29. 29. 32 ILSpy • Available at http://ILSpy.net • Free
    30. 30. 33 • Unhandled exception error when browsing for an application in Delivery Services Console or AppCenter
    31. 31. 34 • System.IO.DirectoryNotFoundException: The system cannot find the path specified. (Exception from HRESULT: 0x80070003) • at IWshRuntimeLibrary.IWshShortcut.Save() • at Citrix.CMI.PSE.Utils.FileBrowsing.CreateServerLinks(FileDialog dialog, ServerSet serverSet, ModifyShareNameCallback modifyShareNameCallback) • at Citrix.CMI.PSE.Cmo.App.PropertyPages.InstalledICALocationPage.u_browseCommandLineButton_Click(Object sender, EventArgs e) • at System.Windows.Forms.Control.OnClick(EventArgs e) • at System.Windows.Forms.Button.OnClick(EventArgs e) • at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) • at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) • at System.Windows.Forms.Control.WndProc(Message& m) • at System.Windows.Forms.ButtonBase.WndProc(Message& m) • at System.Windows.Forms.Button.WndProc(Message8; m) • at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message&; m) • at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) • at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
    32. 32. 35 • Cause: • Customer have Folder redirection implemented via GPO and "Links" special folder is redirected. • Citrix Management console doesn't handle folder redirection and assume that %USERPROFILE%Links folder exists. • private static readonly string FavoriteLink = Path.Combine(Path.Combine(Environment.GetEnvironmentVa riable("USERPROFILE"), "Links"), Services.ResString.GetGlobal("$Profile_Links_Shortcut_Nam e") + ".lnk");
    33. 33. 36
    34. 34. 37 • Get-ChildItem -Recurse *.* -ErrorAction SilentlyContinue|Select- String "XenDesktop is not installed" |Select-Object -Property Path
    35. 35. 38
    36. 36. 39
    37. 37. 40
    38. 38. Q&A • @fdwl • denisg@entisys.com • http://BayCUG.com • http://blog.itbubble.ru

    ×