Need a powershell script to create a local user on esx given the esx server list box

Hello

I need a powershell script to create a local user on esx in a given list entry of esx servers through a csv spreadsheet. The script should ask me the user name and the password for the user name to be created on the given list of esx servers.

Thanks in advance!

Just noticed that there is a lack of vacuum after the - password parameter.

It should be

$userName = Read-Host "Username"
$password = Read-Host "Password" -AsSecureString:$true
Import-Csv "C:\vmhosts.csv" | %{
     Connect-VIServer -Server $_.Hostname -Credential (Get-Credential)
     New-VMHostAccount  -Id $userName -Password $password -UserAccount:$true -GrantShellAccess:$true -Confirm:$false
     Disconnect-VIServer -Confirm:$false
}

____________

Blog: LucD notes

Twitter: lucd22

Tags: VMware

Similar Questions

  • How to create a local user for ESX Web Access?

    Hi, in my last post,

    http://communities.VMware.com/message/1444920#1444920 I enabled web access.

    But what is the best practice to create a temporary user directly on the esx to provide access of computer virtual via web access console?

    Thank you.

    You can have a configuration of the user for the local access to ESX and it will not be seen by vCenter.  ESX is not its userbase with vCenter synx.

    If you have vCenter, simply create a folder in your virtual machines and the view models, move the virtual machine in question in the newly created folder and add the AD account with permissions to this folder and assign a role.  You can then simply access the vCenter and all they will see, if the user does not have permissions anywhere elsewhere in your vCenter hierarchy, is the single guest.

    But, if you do not have vCenter you will need to create a local account on the ESX host

    Hope it makes sense.

  • Need a PowerShell script to...

    Hi, I need a PowerShell script to list all the virtual machine from the center of data-list for each virtual computer all drives and formats the disc and the disc type and a free column for comments.

    Move us the backup platforms and try to develop a plan of migration for all virtual machines

    See you soon

    Looks like you are using an older version of PowerCLI, the CapacityGB was introduced in one of the previous PowerCLI builds.

    Try to upgrade.

    If an upgrade is not possible, you can do

    Get-Datacenter -Name MyDC | Get-VM | Sort-Object -Property Name |Get-HardDisk | Select @{N="VM";E={$_.Parent.Name}},Name,@{N="CapacityGB";E={[int]($_.CapacityKB/1MB)}},@{N="Type";E={[string]::Join('/',($_.DiskType,$_.StorageFormat,$_.Persistence))}},@{N="Comment";E={' '*25}} |Export-Csv C:\HD-report.csv -NoTypeInformation -UseCulture
    

    It also sorts the VM on their Name property.

  • Need a powershell script to extract VM-> IP->->-> mapping vSwitch portgroup vNIC

    Hello

    I need a powershell script to extract the following information for all the VMS in vcenter.

    vm_name | ESX_name | Cluster_name | vm_IP_address | vNIC_name | PortGroup | vSwitch

    Please note that multiple virtual machines have several vNIC where vNIC is connected to various exchanges

    Here you go

    $report = @()
    Get-VM | %{
         $vm = $_
         $_ | Get-Vmguest | %{
              $guest = $_
              if($_.Nics){
                   $i = 0
                   $_.Nics | %{
                        $row = "" | Select Name, Powerstate, Host, Cluster, "IP address","Nic Name",Portgroup,vSwitch
                        $row.Name = $vm.Name
                        $row.Powerstate = $vm.PowerState
                        $row.Host = $vm.Host.Name
                        $row.Cluster = ($vm.Host | Get-Cluster).Name
                        $row."IP address" = $guest.IPAddress[$i]
                        $row."NIC Name" = $vm.NetworkAdapters[$i].Name
                        $row.Portgroup = $guest.Nics[$i].NetworkName
                        $row.vSwitch = (Get-VirtualPortGroup -Name $guest.Nics[$i].NetworkName -VM $vm).VirtualSwitchName
                        $report += $row
                        $i++
                   }
              }
              else{
                   $row = "" | Select Name, Host, Cluster, "IP addr","Nic Name",Portgroup,vSwitch
                   $row.Name = $vm.Name
                   $row.Powerstate = $vm.PowerState
                   $row.Host = $vm.Host
                   $row.Cluster = ($vm.Host | Get-Cluster).Name
                   $row."IP address" = "na"
                   $row."NIC Name" = "na"
                   $row.Portgroup = "na"
                   $row.vSwitch = "na"
                   $report += $row
    
              }
         }
    }
    $report
    

    ____________

    Blog: LucD notes

    Twitter: lucd22

  • Need a powershell script to find the PID of VM in an ESX box

    Hello

    I need a powershell script to list out the PID of all virtual machines running in a box of ESX.

    The script should prompt for ESX box name and root password.

    Expected results:

    The virtual computer name.  NEST

    Thanks in advance!

    My mistake, the point (any character) is to eat the rest of the message.

    Try again with

    $mask = [regex]"vmid=(\d+)\s+([\w-]+)"
    

    He accepts what regex esteem alphabetic characters or the hyphen (-).

    ____________

    Blog: LucD notes

    Twitter: lucd22

  • Need a powershell script to gather information from ESX host

    Hello

    I need a powershell script to collect the below given information host ESX to the Virtual Center. My VC:2.5 of the environment, the ESX hosts: 2.5, 3, 3.5

    At present I have individual powershell scripts of a steamer to get these details. Would be more useful to have a single script. I tried VESI, but does not receive the report in the below in the format.

    | ESX host name Version | Number | construction | manufacturer Model | Processor type | Number of physical CPUS | Number of cores | VMotion service IP Console IP | | County HBA | Physical NETWORK interface cards count

    Thanks in advance!

    So I'm at my wits end here.

    It works for me and Robert also confirmed that it worked for him.

    Although I don't see why this would solve the problem, you could finally try an upgrade to PowerShell v2 RTM.

    ____________

    Blog: LucD notes

    Twitter: lucd22

  • I need a javascript script that would allow an image to import into the drive. I have a Mac so LiveC

    I need a javascript script that would allow an image to import into the drive. Only, I have a Mac so LiveCycle is not an option.

    Screen shot 2010-07-17 at 12.42.41 AM copy.jpg

    OrangeWhip area is where a user would click to download an image.

    Screen shot 2010-07-17 at 12.43.12 AM.jpg

    I found this form and unable to crack how to proceed. Any suggestions?

    For forms created with Adobe Acrobat read this:

    http://www.PlanetPDF.com/Enterprise/article.asp?contentid=import_images_into_field_with _

  • Need a powercli script to create a new account a local administrator on all ESX and ESXi hosts in the vcenter

    Hi all

    If someone can help me with a powercli script to create a new account a local administrator on all ESX and ESXi hosts in the vcenter, create a role called admin and give all access except the root. This shoulb be past by a virtual centre.

    Very much appreciated to help him.

    Kind regards

    MelLvin

    I suspect that you posted your question to the wrong thread

    This requires only a minor change to the script above actually.

    Something like that

    $groupName = "group"$accountName = "user"$accountPswd = "password"$accountDescription = "A user"
    
    $esxlist = Get-VMHostforeach($esx in $esxlist){    Connect-VIServer -Server $esx -User root -Password "password"
    
        Try {      Get-VMHostAccount -Id $groupName -Group -ErrorAction Stop | Out-Null    }    Catch {      New-VMHostAccount -Id $groupName -GroupAccount | Out-Null    }
    
        $rootFolder = Get-Folder -Name ha-folder-root    Try{        $account = Get-VMHostAccount -Id $accountName -ErrorAction Stop |        Set-VMHostAccount -Password $accountPswd -Description $accountDescription -AssignGroups $groupName    }    Catch{        $account = New-VMHostAccount -Id $accountName -Password $accountPswd -Description $accountDescription -UserAccount -GrantShellAccess -AssignGroups $groupName    }
    
        $rootFolder = Get-Folder -Name ha-folder-root    New-VIPermission -Entity $rootFolder -Principal $account -Role admin
    
        Disconnect-VIServer -Confirm:$false}
    
  • Need a powershell script to collect info patch esx

    Hello

    IAM looking for a powershell script that collects the result of "motion esxupdate" for all versions of esx host 3.5 in the Virtual center 2.5 version and exports to CSV file.

    It should take input as virtual Center and collect all the information of ESX host, connect to esx hosts, run the esxupdate query and update of the CSV with results.

    I got the code base of other scripts. I've pasted below. He collects only results for esx server in view of the need to modify the code for the above requirements.

    -


    $servers = "server0″", server1″

    $account = "root".

    $password = "password".

    $servers | % {$a = plink - pw $password $account@$_ "esxupdate query"

    {$server = $_}

    -


    Thanks in advance!

    Have you tried running the script in the powershell console?

    May be a problem with the vesi script editor.

    Sent from my iPhone

    On 19 March 2010, at 21:14, Sureshadmin<>

  • Create a local user with the vSphere Client

    Hello

    I want to create a new user with the permission of readonly. In the vmware documation salon, they say I have to go to the tab local users and groups, but there is no tab with that name.

    And sorry for my English I'm not a native speaker.

    Hi and welcome to communities,

    This tab is visible only when you connect to the ESXi directly with the vSphere Client. You won't see when you connect to a vCenter server.

  • A single local user can belong to the Group 2-policy?

    I have a Cisco ASA 5505 that I install with a SSL VPN. It's for personal use, and I so didn't need anything other than local authentication.

    I created two group policies:

    internal TunnelLAN group strategy

    attributes of Group Policy TunnelLAN

    VPN-tunnel-Protocol svc webvpn

    value of server DNS 208.67.222.222

    VPN - 4 concurrent connections

    VPN-session-timeout 1440

    Protocol-tunnel-VPN-client ssl clientless ssl

    Split-tunnel-policy tunnelspecified

    Split-tunnel-network-list value split tunnel

    blahblahblah.com value by default-field

    the address value tunnel_lan_pool pools

    WebVPN

    internal TunnelAll group strategy

    attributes of Group Policy TunnelAll

    value of server DNS 208.67.222.222

    VPN - 4 concurrent connections

    VPN-session-timeout 1440

    Split-tunnel-policy tunnelall

    Protocol-tunnel-VPN-client ssl clientless ssl

    blahblahblah.com value by default-field

    the address value tunnel_all_pool pools

    WebVPN

    As you can see, I would like to have a profile/policy where I only encrypt data will tunnel of splitting my ACL, and I would like to have a profile/policy where I encrypt all traffic.

    The question ive been fighting is - it does not seem possible to associate more than one group by user policy. If anyone can confirm this? If it IS possible - can you tell me how I associate the two groups to my local account?

    Thanks in advance.

    Edit: I'm running ASA 9.1 (1), 7.1 ASDM. I'd be happy to share several config if requested.

    Hi Brandon,.

    You can always set a group policy on a tunnel-group (connection profile). So in your case, you can create two tunnel and specify each lives in group in respect of each type of tunnel-group so.

    !

    type tunnel-group TunnelLAN-vpn remote access

    tunnel-group TunnelLAN-vpn-global attributes

    Group Policy - by default-TunnelLAN

    !

    !

    type tunnel-group TunnelAll-vpn remote access

    tunnel-group TunnelAll-vpn-global attributes

    Group Policy - by default-TunnelAll

    !

    When you connect, you can decide which group policy you want to apply through the selection of the desired tunnel-group.

    As long as you do not restrict the local user for a specific group (under the user attributes) policy all users can connect to one of the Tunnel-group defined in the ASA so long as they provide key correct pre-dhared

    Please note the useful messages.

    Shamal

  • How to grant privileges to new local user to have exactly the same privileges as a user of HR?

    I did not find this on google, so I need SQL statement.

    At 12 c on windows 8.1 oracle database 64-bit.

    And I want to ask why I can't manage local users on EM Express?

    Try this.

    BEGIN

    RUN IMMEDIATELY ' GRANT CREATE ANY TABLE to > ';

    I'm IN (SELECT table_name FROM all_tables owner WHERE = 'HR')

    LOOP

    RUN IMMEDIATELY "GRANT SELECT, UPDATE ON HR." | i.table_name | » TO >';

    END LOOP;

    END;

    /

  • I can't create a new user account (Windows 7): the user profile service service has no logon

    I tried to create a new user account, but I get the following error when I try to open a session with him:

    the user profile service service has no logon

    Until I leave than anything more I will add that I activated the hidden administrator account and this is the account I use to create a new standard user account.

    Most of the patches for this issue are due to the fact that delete manually a user account does not remove the registry key that are associated, and you are required to go to the next section of the registry:

    HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\PROFILELIST

    and delete the key associated with the user account to be deleted.

    This fix IS NOT help, because whenever I try to create a new user, Windows doesn't bother creating a registry key to the new user.  The new user account appears in the account management window.  If I right click ondesktop and select Properties, then the settings , select the Advanced tab and click settingsunder USER PROFILES, the new account appears not here no more.

    It is a huge problem.  I have other people who use this laptop and I don't want to use my login information, or the guest account.  I'm not editing the registry just to make a new account.

    Please tell me there is a fix for this that works.  Windows 7 was not free, and this kind of problem is very frustrating for the premium software.

    Thanks - this is the only tip that help me to find the solution to this problem.

    Two files in the folder C:\Users\Default\AppData\Local\Microsoft\Windows Live could not be copied without administrator privileges.  This caused the connection in the attempt fail for all newly created user accounts.  The files are:

    C:\Users\Default\AppData\Local\Microsoft\Windows Live\Bici\Bici1_00.sqm

    and

    C:\Users\Default\AppData\Local\Microsoft\Windows Live\SqmApi\SqmData720896_00.sqm

    I've added the read permission for all users in these two files and retried the logon.  The opening of session proceeded set up initial user and filled perfectly.  Probably, this problem started when I installed Windows Live Messenger which is the only Windows Live application, I installed.

    Other important in your message board was to check the event log which stressed the two files which could not copy.  Otherwise provided in WARNING messages immediately preceded files event log error message indicates that the profile service could not connect.

  • Script to create a local library

    Hello guys!

    Unfortunately the Version of Photoshop: 14.0 (14.0 in 2013) did not understand the 'Creative Cloud Libraries' extension but it costs nothing to try another solution:

    It would be possible to create a script or a Panel in Adobe Cofiguarator 4 with a fotos. Gallery PNG stored in a local folder "C: \ clipart", allowing him to insert images in the document using the same? Similar to the "Creative Cloud Libraries" but instead! Thank you.

    Illustration:

    Screenshot_1.png

    Take a look at the image viewer in the experimental section @ http://www.ps-bridge-scripts.talktalk.net/

  • Need to powershell script to gather the host ESX Info network

    Hello

    I need two scripts powershell to collect two types of information about the ESX host network.

    1. information vNIC -& gt; information on the vmnic (physical ESX host network adapter) connected to vSwitches.

    vNIC | VSwitch model | | Trade | Speed | Status | | PCI slot Active/stand-by/not assigned

    (Example) output expected:

    vmnic0 | intel corporation 82XXXX gigabit ethernet controller | vSwitch0 | service console, vMotion | 1000mbps Full | up 01:01.00 | | Assets

    2. Portgroup information

    PortGroup | vNIC (s) with active / standby |  PCI slot of vNIC (s) with active / standby | Physical switch with port number

    Expected results (example):

    Service console | vmnic0 (a) : (s) | 01 vmnic1: 00. 00 (a) : 02:00. 00 (s) | abcd-123 [GigabitEthernet10/10] : xyzf-7890 [Gigabitethernet11/11]

    Please note if CDP is not active, then in the field of physical switch values can contain "CDP is not enabled"

    Thanks in advance!

    Noticed that the two threads under became a little mixed in the script.

    This is the script with the devIds with the indication of the active / standby.

    foreach($esxImpl in (Get-VMHost)){
         $esx = $esxImpl | Get-View
         $netSys = Get-View $esx.ConfigManager.NetworkSystem
         foreach($pg in $esx.Config.Network.Portgroup){
              $pNICStr = @()
              $pciStr = @()
              $cdpStr = @()
              foreach($a in $pg.ComputedPolicy.NicTeaming.NicOrder.ActiveNic){
                   if($a){
                        $pNICStr += ($a + "(a)")
                        $pciStr += ($esx.Config.Network.Pnic | where {$_.Device -eq $a} | %{$_.Pci + "(a)"})
                        $cdpInfo = $netSys.QueryNetworkHint($a)
                        $cdpStr += &{if($cdpInfo[0].connectedSwitchPort){$cdpInfo[0].connectedSwitchPort.devId + "(a)"}else{"CDP not configured(a)"}}
                   }
              }
              foreach($s in $pg.ComputedPolicy.NicTeaming.NicOrder.StandbyNic){
                   if($s){
                        $pNICStr += ($s + "(s)")
                        $pciStr += ($esx.Config.Network.Pnic | where {$_.Device -eq $s} | %{$_.Pci + "(s)"})
                        $cdpInfo = $netSys.QueryNetworkHint($s)
                        $cdpStr += &{if($cdpInfo[0].connectedSwitchPort){$cdpInfo[0].connectedSwitchPort.devId + "(s)"}else{"CDP not configured(s)"}}
                   }
              }
    
              $pg | Select @{N="ESXname";E={$esxImpl.Name}},
              @{N="Portgroup";E={$pg.Spec.Name}},
              @{N="VLANid";E={$pg.Spec.VlanId}},
              @{N="pNIC";E={$pNICStr}},
              @{N="PCI location";E={$pciStr}},
              @{N="Physical switch";E={$cdpStr}}
         }
    }
    

    ____________

    Blog: LucD notes

    Twitter: lucd22

Maybe you are looking for