你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Set-AzStorageLocalUser

在存储帐户中创建或更新指定的本地用户。

语法

Set-AzStorageLocalUser
   [-ResourceGroupName] <String>
   [-StorageAccountName] <String>
   -UserName <String>
   [-HomeDirectory <String>]
   [-SshAuthorizedKey <PSSshPublicKey[]>]
   [-PermissionScope <PSPermissionScope[]>]
   [-HasSharedKey <Boolean>]
   [-HasSshKey <Boolean>]
   [-HasSshPassword <Boolean>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-AzStorageLocalUser
   -StorageAccount <PSStorageAccount>
   -UserName <String>
   [-HomeDirectory <String>]
   [-SshAuthorizedKey <PSSshPublicKey[]>]
   [-PermissionScope <PSPermissionScope[]>]
   [-HasSharedKey <Boolean>]
   [-HasSshKey <Boolean>]
   [-HasSshPassword <Boolean>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

说明

Set-AzStorageLocalUser cmdlet 在存储帐户中创建或更新指定的本地用户。 若要运行此 cmdlet,存储帐户必须已将 EnableLocalUser 设置为 true。

示例

示例 1:创建或更新本地用户

$sshkey1 = New-AzStorageLocalUserSshPublicKey -Key "ssh-rsa base64encodedkey=" -Description "sshpublickey name1"

$permissionScope1 = New-AzStorageLocalUserPermissionScope -Permission rw -Service blob -ResourceName container1 

$localuser = Set-AzStorageLocalUser -ResourceGroupName "myresourcegroup" -AccountName "mystorageaccount" -UserName testuser1 -HomeDirectory "/" -SshAuthorizedKey $sshkey1 -PermissionScope $permissionScope1 -HasSharedKey $true -HasSshKey $true -HasSshPassword $true

$localuser

   ResourceGroupName: myresourcegroup, StorageAccountName: mystorageaccount

Name      Sid                                          HomeDirectory HasSharedKey HasSshKey HasSshPassword PermissionScopes        
----      ---                                          ------------- ------------ --------- -------------- ----------------         
testuser1 S-1-2-0-0000000000-000000000-0000000000-0000 /             True         True      True           [container1]

$localuser.SshAuthorizedKeys 

Description       Key                     
-----------       ---                     
sshpublickey name1 ssh-rsa base64encodedkey=

$localuser.PermissionScopes 

Permissions Service ResourceName
----------- ------- ------------
rw          blob    container1

第一个命令创建本地 SSH 公钥对象。 请注意,密钥遵循 <algorithm> <data> 数据是公钥的 base64 编码内容的格式。 第二个命令创建一个本地权限范围对象,该对象定义本地用户的容器级别访问权限。 第三个命令使用前 2 个命令中的本地对象创建或更新本地用户。 最后一个命令显示本地用户属性。

示例 2:使用 json 通过输入权限范围和 ssh 密钥创建或更新本地用户

Set-AzStorageLocalUser -ResourceGroupName "myresourcegroup" -AccountName "mystorageaccount" -UserName testuser1 -HomeDirectory "/" -HasSharedKey $true -HasSshKey $true -HasSshPassword $true `
            -SshAuthorizedKey (@{
                Description="sshpulickey name1";
                Key="ssh-rsa base64encodedkey=";                
            },
            @{
                Description="sshpulickey name2";
                Key="ssh-rsa otherbase64encodedkey="; 
            }) `
            -PermissionScope (@{
                Permissions="rw";
                Service="blob"; 
                ResourceName="container1";                
            },
            @{
                Permissions="rwd";
                Service="share"; 
                ResourceName="share1";
            })

ResourceGroupName: weitry, StorageAccountName: weisftp3

Name      Sid                                          HomeDirectory HasSharedKey HasSshKey HasSshPassword PermissionScopes        
----      ---                                          ------------- ------------ --------- -------------- ----------------         
testuser1 S-1-2-0-0000000000-000000000-0000000000-0000 /             True         True      True           [container1,...]

此命令使用 json 通过输入权限范围和 ssh 密钥创建或更新本地用户。

参数

-Confirm

提示你在运行 cmdlet 之前进行确认。

类型:SwitchParameter
别名:cf
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DefaultProfile

用于与 Azure 通信的凭据、帐户、租户和订阅。

类型:IAzureContextContainer
别名:AzContext, AzureRmContext, AzureCredential
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-HasSharedKey

共享密钥是否存在。 将其设置为 false 以删除现有的共享密钥。

类型:Boolean
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-HasSshKey

SSH 密钥是否存在。 将其设置为 false 以删除现有的 SSH 密钥。

类型:Boolean
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-HasSshPassword

SSH 密码是否存在。 将其设置为 false 以删除现有的 SSH 密码。

类型:Boolean
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-HomeDirectory

本地用户主目录

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-PermissionScope

本地用户的权限范围。 使用 New-AzStorageLocalUserPermissionScope cmdlet 获取对象。

类型:PSPermissionScope[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ResourceGroupName

资源组名称。

类型:String
Position:0
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-SshAuthorizedKey

SFTP 的本地用户 ssh 授权密钥。 使用 New-AzStorageLocalUserSshPublicKey cmdlet 获取对象。

类型:PSSshPublicKey[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-StorageAccount

存储帐户对象

类型:PSStorageAccount
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-StorageAccountName

存储帐户名称。

类型:String
别名:AccountName
Position:1
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-UserName

本地用户的名称。 用户名必须仅包含小写字母和数字。 它必须仅在存储帐户中是唯一的。

类型:String
别名:Name
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-WhatIf

显示运行该 cmdlet 时会发生什么情况。 cmdlet 未运行。

类型:SwitchParameter
别名:wi
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

输入

PSStorageAccount

输出

PSLocalUser