2017-10-05 118 views
1

我有一些Powershell腳本用於將應用程序部署到測試機器。這些必須使用開發人員機器上的Invoke-Command執行。無論如何要記錄這些腳本被調用的主機名/ IP。 例如: 如果開發者foo使用devmachine1中的腳本部署了一個應用程序,我想獲取devmachine1的名稱/ IP並將其登錄到我們的測試機器中。執行腳本/命令時獲取主機名稱powershell Invoke-Command

我們正在使用Powershell V4.0。如果需要,可以升級到5.0

+1

添加到調用命令與IP和主機名參數列表,並在腳本塊中使用它們 – guiwhatsthat

+0

我現在沒有任何地方可以測試它,但有自動變量稱爲$ PSSenderInfo具有.UserInfo屬性,看起來像就像它可能包含你所需要的,而不必手動傳遞它。 https://docs.microsoft.com/en-us/dotnet/api/system.management.automation.remoting.pssenderinfo?redirectedfrom=MSDN&view=powershellsdk-1.1.0#properties_ –

+0

看起來像$ PSSenderInfo.ConnectedUser爲您提供用戶名遠程調用腳本但不是原始機器名稱的人員。如果使用的帳戶是本地的,那麼機器名稱可能在該變量中。 –

回答

0

回答此問題以標記問題已解決。如果有人正在尋找答案,那就開始討論。 我將計算機名稱$env:COMPUTERNAME作爲參數傳遞給遠程腳本。 在遠程腳本中使用$PSSenderInfo.ConnectedUser獲取遠程用戶名。