十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
前段時間寫了個PowerShell腳本給同事,換來的卻是同事的白眼,意思是說我這都是linux,你給我寫個powershell的腳本我去哪跑去,我真想回個白眼,馬上都0202年了,還以為powershell只能在windows上跑呢,PowerShell開源,PowerShell Core出世都已經(jīng)很長時間了,但是仍然有人天真的以為PowerShell只適用Windows平臺,事實上,從PowerShell Core開始,PowerShell腳本已經(jīng)可以直接跑在各大Linux平臺上了??!而且體驗基本真的是無縫移植??!很多腳本一個字母都不需要改!
拿Azure的腳本來說,我們就來看下怎么在Linux上把PowerShell玩起來
首先,我們需要把PowerShell裝上,首先把repo的信息準備好
curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo
之后直接yum install安裝,linux下安裝確實是方便,而且速度很快
sudo yum install -y powershell
直接輸入Pwsh進入PowerShell
接下來就可以安裝Azure的module了,注意linux下我們要安裝最新的az module,也可以試下其他命令,語法和windows下的powershell基本沒有區(qū)別
接下來我們來看下怎么登陸Azure,和windows一樣,直接用login-azaccount就能登陸了,但是區(qū)別在于,因為沒有圖形化界面,所以需要用code登陸,和CLI感覺差不多
在瀏覽器里輸入對應的code
可以看到已經(jīng)能夠get到賬戶里的信息了!
另外有個問題需要說下,如果想運行一些定時的腳本,身份認證這塊,PowerShell core并不支持直接用用戶名密碼登陸,所以這里我們要不就用剛才看到的code的方式來實現(xiàn)交互式登錄,要不就用service principal進行登錄
service principal的介紹之前已經(jīng)講過了,這里不再贅述,創(chuàng)建service principal的方法也比較簡單,用PowerShell就可以創(chuàng)建了,如果想給service principal加個密碼,可以在Portal上找到Service Principal,點擊添加secret
secret可以設置過期的時間
把value保存下來,注意不保存的話以后就找不到了,所以注意一定要保存
接下來就可以用這個secret進行登錄了!
$ApplicationID="a67aa2ff-f009-4ec9-93fa-c773aa1442ec" $Password="******" $TenantID="b7283bff-0d3d-4728-9189-8513ee70744a" $Password=ConvertTo-SecureString?$Password?-AsPlainText?-Force $Credential=New-Object?System.Management.Automation.PSCredential($ApplicationID,$Password) Add-AzAccount?-Credential?$Credential?-ServicePrincipal?-TenantId?$TenantID?-EnvironmentName?azurechinacloud登錄成功!可以愉快地跑腳本了
不得不說,真的是挺方便的,微軟這個操作必須得贊一個
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。