我正在尝试使用Nitro在我的NetScaler上获取ns.log文件的内容。这是代码
$URL = 'https://$NSIP/nitro/v1/config/systemfile/ns.log?args=filelocation:%2fvar%2Flog'
$varlog = Invoke-WebRequest -Method Get -uri $URL -UseDefaultCredentials | ConvertFrom-Json
我获取了文件本身的详细信息(下面的输出),但缺少filecontent部分
filename : ns.log
filelocation : /var/log
fileencoding : BASE64
fileaccesstime : Wed Apr 26 01:00:01 2017
filemodifiedtime : Wed Apr 26 07:19:23 2017
事实上,当我尝试获取var / log文件夹中任何文件的内容时,我遇到了同样的问题。当我在任何其他文件夹上尝试此功能时,它工作得很好。 当我使用Putty时,我可以很好地阅读这些文件。
我发现一篇Citrix文章称文件大小限制为2MB(不确定限制是什么)但我的ns.log文件只有49kB
有没有人知道在NetScaler上使用nitro的任何其他限制,或者找到了获取文件内容的方法
答案 0 :(得分:0)
有一个GUI函数允许这样做。在“系统-审核”下,选择“ Recenet审核消息”。从这里开始,我相信您可以使用开发人员工具来分析有效负载。使用的特定命令属于rapi而非NITRO api,因此您将找不到任何文档。
Request URL: http://hostname/rapi/remote_shell
payload:object: {"params":{"warning":"YES"},"remote_shell":{"command":"show audit messages -logLevel ALL -numOfMesgs 20","prompt":">show audit messages -logLevel ALL -numOfMesgs 20","target":"cli"}}