真正跨平台!在Linux上跑Azure PowerShell脚本
admin
2023-03-27 05:41:11
0

    前段时间写了个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

真正跨平台!在Linux上跑Azure PowerShell脚本


    之后直接yum install安装,linux下安装确实是方便,而且速度很快

    sudo yum install -y powershell

真正跨平台!在Linux上跑Azure PowerShell脚本


    直接输入Pwsh进入PowerShell

真正跨平台!在Linux上跑Azure PowerShell脚本


    接下来就可以安装Azure的module了,注意linux下我们要安装最新的az module,也可以试下其他命令,语法和windows下的powershell基本没有区别

真正跨平台!在Linux上跑Azure PowerShell脚本


真正跨平台!在Linux上跑Azure PowerShell脚本


    接下来我们来看下怎么登陆Azure,和windows一样,直接用login-azaccount就能登陆了,但是区别在于,因为没有图形化界面,所以需要用code登陆,和CLI感觉差不多

真正跨平台!在Linux上跑Azure PowerShell脚本

    

    在浏览器里输入对应的code

    真正跨平台!在Linux上跑Azure PowerShell脚本


    可以看到已经能够get到账户里的信息了!真正跨平台!在Linux上跑Azure PowerShell脚本


    另外有个问题需要说下,如果想运行一些定时的脚本,身份认证这块,PowerShell core并不支持直接用用户名密码登陆,所以这里我们要不就用刚才看到的code的方式来实现交互式登录,要不就用service principal进行登录

    真正跨平台!在Linux上跑Azure PowerShell脚本


    service principal的介绍之前已经讲过了,这里不再赘述,创建service principal的方法也比较简单,用PowerShell就可以创建了,如果想给service principal加个密码,可以在Portal上找到Service Principal,点击添加secret


    真正跨平台!在Linux上跑Azure PowerShell脚本


    secret可以设置过期的时间

    真正跨平台!在Linux上跑Azure PowerShell脚本


    把value保存下来,注意不保存的话以后就找不到了,所以注意一定要保存

    真正跨平台!在Linux上跑Azure PowerShell脚本

接下来就可以用这个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


登录成功!可以愉快地跑脚本了

真正跨平台!在Linux上跑Azure PowerShell脚本



不得不说,真的是挺方便的,微软这个操作必须得赞一个


相关内容

热门资讯

特朗普下令不打了,美国的“余粮... 可以说戛然而止,快得让很多人都无法适应。前两周,每一天美国都要打击伊朗一通。就在7月24日白宫会议前...
穆杰塔巴最新表态:支持黎真主党 △伊朗最高领袖穆杰塔巴·哈梅内伊(资料图)当地时间7月26日晚,伊朗最高领袖穆杰塔巴·哈梅内伊对黎巴...
美军瘫痪一艘驶向伊朗的油轮,特... 美国总统特朗普虽下令暂停打击伊朗,但美军仍在执行对霍尔木兹海峡的封锁任务。针对美军瘫痪一艘驶向伊朗油...
“小牌大耍”的底气到底是哪里来... 澎湃首席评论员 李平这两天,“艺人李权哲乘高铁占座事件”在网上引发热议,该艺人参加的活动主办方曾发布...
越南籍船舶南海遇险沉没,中方已... 据凤凰卫视报道,一艘越南船舶7月24日夜间在越南庆和以东220海里附近遇险沉没,船上共62名越南籍人...
李权哲占座、蒙面、装死:娱乐圈... 你买了一张高铁一等座的票,找到自己的位置,18A。有人坐着。你拿出手机看了眼购票记录——没错,18A...
杭州景区咖啡店闯入1条幼蛇,仅... 夏天气温高、湿度大,蛇类活动进入高峰期,千万别被“小蛇无害”的刻板印象骗了!有些幼蛇看着迷你可爱,实...
AI开源公开信签署企业增至50... IT之家 7 月 26 日消息,英伟达、微软、IBM、Meta 等 25 家美国科技企业本周(7 月...
南阳快手短视频代运营企业的服务... 在短视频平台快速发展的背景下,企业通过快手等渠道进行内容运营已成为常见的市场动作。对于希望借助短视频...
普通人该如何跟上科技发展的步伐 这个被称作科技的词汇, 听起来既有宏大之感, 又颇为遥远, 好似仅仅归属于在实验室里专心致志钻研的科...