主頁 > 知識庫 > 使用HTTP api簡單的遠(yuǎn)程執(zhí)行PowerShell腳本

使用HTTP api簡單的遠(yuǎn)程執(zhí)行PowerShell腳本

熱門標(biāo)簽:百度競價排名 服務(wù)外包 AI電銷 鐵路電話系統(tǒng) Linux服務(wù)器 呼叫中心市場需求 網(wǎng)站排名優(yōu)化 地方門戶網(wǎng)站

可能有些情況下,你不想完全體驗通過PSRP(PowerShell遠(yuǎn)程處理協(xié)議)遠(yuǎn)程管理,或有需要從非Windows系統(tǒng)上執(zhí)行一些PowerShell腳本。你可能會像我很久之前在這篇文章中寫的那樣直接基于WS-Man來寫代碼。但是那樣很復(fù)雜,并且需要WS-Man和SOAP的一些知識。

我在PowerShell腳本中使用.Net HttpListener類寫了個HTTP監(jiān)聽器。你可以非常簡單地啟動一個監(jiān)聽器的實例(需要提升權(quán)限監(jiān)聽網(wǎng)絡(luò)),現(xiàn)在你可以執(zhí)行任意的PowerShell命令了,它還可以返回多種格式的執(zhí)行結(jié)果。
一旦你安裝了這個組件(只需要拷貝它到Documents\WindowsPowerShell\Modules 文件夾),并且導(dǎo)入,你就可以通過Start-HTTPListener啟動一個實例。

默認(rèn)我讓它監(jiān)聽在8888端口,集成了Windows驗證,但是仍然可以在參數(shù)中配置。這里我打開了另一個PowerShell窗口,并執(zhí)行了“get-process powershell”

注意我使用 –UseDefaultCredentials來確保使用我的當(dāng)前安全上下文來驗證,否則你會被告知匿名訪問不支持。

默認(rèn)情況下,我返回JSON格式的輸出。因為所得到的JSON對象是很大的,它會被截斷。 HTTP響應(yīng)的body是在內(nèi)容屬性,但是它是一個字節(jié)數(shù)組。我使用UTF8 .NET類進(jìn)行解碼并顯示部分JSON數(shù)據(jù):

我可以使用ConvertFrom-JSON的,使之在PowerShell中更像模像樣:

當(dāng)然,如果你使用的是不同的客戶端腳本如Python,Perl或Ruby的,那么你可以在這些語言中調(diào)用腳本庫使用JSON的版本。

如果你只是玩玩而已,你可以用文本格式,使事情變得更加簡單易讀,就像直接在PowerShell中執(zhí)行相同的命令行:

其他格式可供選擇,如果你調(diào)用HTTP端點不帶任何參數(shù),你會得到基本的用法信息反饋:

您可能感興趣的文章:
  • linux shell中 if else以及大于、小于、等于邏輯表達(dá)式介紹
  • Linux中執(zhí)行shell腳本的4種方法總結(jié)
  • Linux shell腳本編程if語句的使用方法(條件判斷)
  • linux shell自定義函數(shù)(定義、返回值、變量作用域)介紹
  • linux shell數(shù)組深入學(xué)習(xí)理解
  • linux shell命令行選項與參數(shù)用法詳解
  • linux shell腳本學(xué)習(xí)xargs命令使用詳解
  • Linux Shell中判斷進(jìn)程是否存在的代碼
  • Linux shell實現(xiàn)HTTP服務(wù)示例代碼

標(biāo)簽:黃山 湖南 蘭州 銅川 崇左 仙桃 衡水 湘潭

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《使用HTTP api簡單的遠(yuǎn)程執(zhí)行PowerShell腳本》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266