您好,登錄后才能下訂單哦!
????前段時間寫了個PowerShell腳本給同事,換來的卻是同事的白眼,意思是說我這都是linux,你給我寫個powershell的腳本我去哪跑去,我真想回個白眼,馬上都0202年了,還以為powershell只能在windows上跑呢,PowerShell開源,PowerShell Core出世都已經很長時間了,但是仍然有人天真的以為PowerShell只適用Windows平臺,事實上,從PowerShell Core開始,PowerShell腳本已經可以直接跑在各大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基本沒有區別
????接下來我們來看下怎么登陸Azure,和windows一樣,直接用login-azaccount就能登陸了,但是區別在于,因為沒有圖形化界面,所以需要用code登陸,和CLI感覺差不多
????
????在瀏覽器里輸入對應的code
????
????可以看到已經能夠get到賬戶里的信息了!
????另外有個問題需要說下,如果想運行一些定時的腳本,身份認證這塊,PowerShell core并不支持直接用用戶名密碼登陸,所以這里我們要不就用剛才看到的code的方式來實現交互式登錄,要不就用service principal進行登錄
????
????service principal的介紹之前已經講過了,這里不再贅述,創建service principal的方法也比較簡單,用PowerShell就可以創建了,如果想給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
登錄成功!可以愉快地跑腳本了
不得不說,真的是挺方便的,微軟這個操作必須得贊一個
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。