How to export some users
Hello all!
I need to export only a group of people, i am not working with companies, is there any option to filter some users to export?
Regards!
Maria
Hi,
have a look at the following blog posting which contains Windows BAT files.
http://www.talkapex.com/2012/04/command-line-backups-for-apex.html
Regards
Patrick
My Blog: http://www.inside-oracle-apex.com
APEX Plug-Ins: http://apex.oracle.com/plugins
Twitter: http://www.twitter.com/patrickwolf
Similar Messages
-
How to export some data from the tables of an owner with integrity?
Hi to all,
How to export some data from the tables of an owner with integrity?
I want to bring some data from all tables in a single owner of the production database for development environment.
My initial requirements are: seeking information on company code (emp), contract status (status) and / or effective date of contract settlement (dt_liq_efetiva) - a small amount of data to developers.
These three fields are present in the main system table (the table of contracts). Then I thought about ...
- create a temporary table from the query results table to contract;
- and then use this temporary table as a reference to fetch the data in other tables of the owner while maintaining integrity. But how? I have not found the answer, because: what to do when not there is the possibility of a join between the contract and any other table?
I am considering the possibility of consulting the names of tables, foreign keys and columns above, and create dynamic SQL. Conceptually, something like:
select r.constraint_name "FK name",
r.table_name "FK table",
r.column_name "FK column",
up.constraint_name "Referencing name",
up.table_name "Referencing table",
up.column_name "Referencing column"
from all_cons_columns up
join all_cons_columns r
using (owner, position), (select r.owner,
r.constraint_name fk,
r.table_name table_fk,
r.r_constraint_name r,
up.table_name table_r
from all_constraints up, all_constraints r
where r.r_owner = up.owner
and r.r_constraint_name = up.constraint_name
and up.constraint_type in ('P', 'U')
and r.constraint_type = 'R'
and r.owner = 'OWNERNAME') aux
where r.constraint_name = aux.fk
and r.table_name = aux.table_fk
and up.constraint_name = aux.r
and up.table_name = aux.table_r;
-- + Dynamic SQL
If anyone has any suggestions and / or reuse code to me thank you very much!
After resolving this standoff intend to mount the inserts in utl_file by a table and create another program to read and play in the development environment.
Thinking...
Let's Share!
My thanks in advance,
PhilipsThanks, Peter.
Well, I am working with release 9.2.0.8.0. But the planning is migrate to 10g this year. So my questions are:
With Data Pump can export data just from tables owned for me (SCHEMAS = MYOWNER) parameterizing the volume of data (SAMPLE) and filters to table (QUERY), right? But parameterizing a contract table QUERY = "WHERE status NOT IN (2,6) ORDER BY contract ":
1º- the Data Pump automatically searches for related data in other tables in the owner? ex. parcel table has X records related (fk) with Y contracts not in (2,6): X * SAMPLE records will be randomly exported?
2º- for the tables without relation (fk) and which are within the owner (MYOWNER) the data is exported only based on the parameter SAMPLE?
Once again, thank you,
Philips
Reading Oracle Docs... -
Goto: How to export some data from the tables of an owner with integrity?
Hi to all,
Help please: How to export some data from the tables of an owner with integrity?
My thanks in advance,
PhilipsThanks, Peter.
Well, I am working with release 9.2.0.8.0. But the planning is migrate to 10g this year. So my questions are:
With Data Pump can export data just from tables owned for me (SCHEMAS = MYOWNER) parameterizing the volume of data (SAMPLE) and filters to table (QUERY), right? But parameterizing a contract table QUERY = "WHERE status NOT IN (2,6) ORDER BY contract ":
1º- the Data Pump automatically searches for related data in other tables in the owner? ex. parcel table has X records related (fk) with Y contracts not in (2,6): X * SAMPLE records will be randomly exported?
2º- for the tables without relation (fk) and which are within the owner (MYOWNER) the data is exported only based on the parameter SAMPLE?
Once again, thank you,
Philips
Reading Oracle Docs... -
How to export a user and their schema from one 10g database to another?
Hi,
I would like to export a user and their entire schema from one 10g database to another one. How do I do this?
thx
adamIf you want to export a user and the schema owned to the user, and import to the same user in a different database, or a different user in the same database, you can use the exp and imp commands as described in the Utilities manual.
These commands are very versatile and have a lot of options - well worth learning properly. To give you a simplistic shortcut, see below - I create a user 'test_move', create some objects in the schema, export, create a new user in the database 'new_move' and import.
oracle@fuzzy:~> sqlplus system/?????
SQL*Plus: Release 10.2.0.1.0 - Production on Sat Mar 11 21:46:54 2006
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
SQL> create user test_move identified by test_move;
User created.
SQL> grant create session, resource to test_move;
Grant succeeded.
SQL> connect test_move/test_move
Connected.
SQL> create table test (x number);
Table created.
SQL> insert into test values (1);
1 row created.
SQL> exit
Disconnected from Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
oracle@fuzzy:~> exp system/????? file=exp.dmp owner=test_move
Export: Release 10.2.0.1.0 - Production on Sat Mar 11 21:48:34 2006
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to: Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
Export done in AL32UTF8 character set and AL16UTF16 NCHAR character set
About to export specified users ...
. exporting pre-schema procedural objects and actions
. exporting foreign function library names for user TEST_MOVE
. exporting PUBLIC type synonyms
. exporting private type synonyms
. exporting object type definitions for user TEST_MOVE
About to export TEST_MOVE's objects ...
. exporting database links
. exporting sequence numbers
. exporting cluster definitions
. about to export TEST_MOVE's tables via Conventional Path ...
. . exporting table TEST 1 rows exported
. exporting synonyms
. exporting views
. exporting stored procedures
. exporting operators
. exporting referential integrity constraints
. exporting triggers
. exporting indextypes
. exporting bitmap, functional and extensible indexes
. exporting posttables actions
. exporting materialized views
. exporting snapshot logs
. exporting job queues
. exporting refresh groups and children
. exporting dimensions
. exporting post-schema procedural objects and actions
. exporting statistics
Export terminated successfully without warnings.
oracle@fuzzy:~> sqlplus system/?????
SQL*Plus: Release 10.2.0.1.0 - Production on Sat Mar 11 21:49:23 2006
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
SQL> create user new_move identified by new_move;
User created.
SQL> grant create session, resource to new_move;
Grant succeeded.
SQL> exit
Disconnected from Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
oracle@fuzzy:~> imp system/????? file=exp.dmp fromuser=test_move touser=new_move
Import: Release 10.2.0.1.0 - Production on Sat Mar 11 21:50:12 2006
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to: Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
Export file created by EXPORT:V10.02.01 via conventional path
import done in AL32UTF8 character set and AL16UTF16 NCHAR character set
. importing TEST_MOVE's objects into NEW_MOVE
. . importing table "TEST" 1 rows imported
Import terminated successfully without warnings.
oracle@fuzzy:~> If moving between databases, remember to set the SID properly before the import. If keeping the same userid, skip the from/to stuff in the import.
There are many variations on the theme ...
You can simplify this. You can select tables individually. You can use a parameter file. You can transport all the constraints and data. You can skip the data and only move the definitions. You can get some help (imp/exp help=yes).
And, if it's all 10g, there is a new and improved facility called expdp/impdp (dp = data pump) which has a lot more capability as well, including direct transfer (no intermediate file) together with suspend/restart. Also documented in the Utilities manual. -
How to export some records of a table
oracle:
version 2.11, right click the grid, there is a export function, i can export some records,
version 3.0.04, i can't find the export function, this feature is very useful to me , but why you remove it ?For some (I find odd) reason - probably an attempt to reduce confusion between the database export as a whole, they renamed it to Unload.
Ta,
Trent
Edited by: trent on Apr 14, 2011 11:51 AM
From the release notes:
Exporting and Importing: The Importing and Exporting wizards have been updated to support a wider range of choices. During the early adopter release cycle Export was renamed to Unload and Import to Load. Following user feedback, we have reverted to the original terms of Import and Export. You'll find these on the Tools > Database Export menu, and Export... on the context menus for Tables and Views and on Data Grids. Import Data is available on table context menus.(bolded for emphasis)
http://www.oracle.com/technetwork/developer-tools/sql-developer/rel3-ea-relnotes-189445.html
Actually, it says its renamed back - I havent used the production release yet, so it should be there. Maybe you are on an EA still? -
How to prevent some user to delete mail
Due to company requirement.
We need to disable some user ([email protected]) to delete any email, but meanwhile they can been allowed to send and recieve email.
root@mailstore# imsimta version
Sun Java(tm) System Messaging Server 7u2-7.02 64bit (built Apr 16 2009)
libimta.so 7u2-7.02 64bit (built 03:03:02, Apr 16 2009)
Using /mailstore/data/comms/messaging64/config/imta.cnf (compiled)
SunOS mailstore 5.10 Generic_137111-06 sun4v sparc SUNW,SPARC-Enterprise-T5220Jiagang.Sun wrote:
We need to disable some user ([email protected]) to delete any email, but meanwhile they can been allowed to send and recieve email.
Users have full rights to their own mailbox, you cannot disable the "delete" right.
You could however redirect emails for the user to a shared folder which they subscribe to and only grant specific rights for that user using the readership utility:
http://wikis.sun.com/display/CommSuite/readership
Regards,
Shane. -
How to restrict some users from viewing a screen of standard transaction
Hi All,
I need to restrict certain user ids from viewing the 'Payment Transactions' screen for the below mentioned transactions.
FK01, FK02, FK03, MK01, MK02, MK03, XK01, XK02, XK03
The Basis consultant has tried to configure it. However its not working. So need to find other solution.
For all transactions other than FK01, MK01, XK01 (create vendor), the BAdi GOS_SRV_SELECT is called before the payment transaction screen appears. But for transactions FK01, MK01and XK0, no such BAdi is there.
Also I'm not able to figure out how to restrict that particular screen using Badi GOS_SRV_SELECT. What will be the service name for this?
Please help !!!
Thanks in advance,
Radhikahi,
u can do this using user exits.
identify the appropriate exit for ur transaction and thn put condition like
if username = ...
loop at screen.
hide..
endloop.
i was just trying to give u some hint .make it to ur best.
reward if hlpful. -
How to export component user fields
I have two computers with Circuit Design Suite on which I work on designs depending on my location. I keep the user database synced between the two (I don't use corporate database) but when I enter information in the User Fields of my components from the Master database it does not follow from one computer to the other. Where is the component User Fields information stored for instances of things like standard resistors? How do I carry these with my designs? What if this information is different from design to design for components (both custom and standard)?
Thanks in advance for any help.
Clarification: I keep my user database synchronized between my two computers. Any custom parts that I make I place in my user database. When working on my designs they usually contains some custom parts from my user database and some standard parts (e.g. resistors, capacitors) from the master database. Once I have choosen the actual parts from Digi-Key I like to populate each of the component's user fields in the design with the part number and price information from my Digi-Key order.
Issue: This user field information carries through to both computers if the component is a custom component from my user database. If the component is a standard component from the master database the user fields information does not carry through to the other computer.
Question: How/Where does MultiSim store the component user fields information? How can I synchronize this information between my two computers? -
HI Experts
I want to implement authorization in my FV60 and Fb60 tranactions, my Funds managment is active and i want to restric user in Funds Center and as well as some commitment item. I have some idea of Authorization group and after defining a Authorization group in customizing, i assigned Authorization group in fund center.and give its name in Authorization object in User roles. but still i am unable to achive correct control. by this way the system restrict every fund center.
Can anyone help me out....Thanks in Advance
Full point will be awarded...
MAZcheck tolerance groups for employees, are they excluded in the tolerance group?
regards, -
How to export a user's Calendar Appointments in Powershell from Exchange Server
Exchange 2010 sp3 w/hybrid Configuration: Current User is On-Premise
1. Is it possible to retrieve all calendar appointments for a particular user from the on-premise exchange servers using powershell?
2. If item 1 is possible, can we track a user appointment - meaning that if someone where to delete the appointment the report can show us who deleted the appointment by using powershell to generate this report?
Thanks,Hi,
Base on my knowledge, I don't think it is possible.
However, as a workaround, you can use powershell to recover all deleted items in a particular user:
PowerShell: Script to recover all deleted items in a mailbox
In addition, I recommend you post this in Powershell Forum
also, as they should have more professional knowledge on scripting and you may get effective solution timely.
Thanks.
Niko Cheng
TechNet Community Support -
How to export/import apex user ?
Hi All,
I am using APEX 3.1. How to export apex users and import into different workspace. Basically I am trying export APEX users from dev workspace into Prod. Is it possible to include as part of application export?
Anyone's help is much appreciated.
Regardsapex_util.export_users
http://docs.oracle.com/cd/E23903_01/doc/doc.41/e21676/apex_util.htm#BABCDACJ
This function was available with 3.2, I didn't confirm for 3.1
Scott -
How to specific some of user cannot be locked.
Dear Sir,
As we set to lock EP user when 3 times for wrong password, however, I need some of users cannot locked (out of rule). However, I don't know how to set some users cannot lock.
Please kindly advise.
Thank you and best regards,
VimolHi Vimol,
You can change the number of login attempts in the Visual Admin. Here is the <a href="http://help.sap.com/saphelp_nw2004s/helpdata/en/ee/10df3d0eb8af5ee10000000a114084/frameset.htm">Link</a>.
You can set the ume.logon.security_policy.lock_after_invalid_attempts to 0(zero) so that it never locks when invalid login credentials are given
Ok, I believe Goutam Reply is more appropriate, mine answer is for all the portal users!!
Thanks,
Vijay
Message was edited by:
Vijaya Saravanan Jayachandran -
How to migrate Apex users with existing passwords.
Hi Guys,
Our apex env finally getting a upgrade from 3.1.1 to 4.1.1 (I know, it's been overdue for years)
Some of our apps use 'Application Express' authentication, and have few hundreds users in Apex (and users belong to diff user groups).
The issue is, the 4.1.1 env is set up on a brand new server and DB, we want to migrate these users with their existing passwords from the 3.1.1 env.
I tried exporting the workspace, and the users are exported as below,
begin
wwv_flow_fnd_user_api.create_fnd_user (
p_user_id => '10592934818556549584',
p_user_name => 'TEST',
p_first_name => 'a',
p_last_name => 'b',
p_description => '',
p_email_address=> '[email protected]',
p_web_password => 'E92903DEAD135E6E86BD6B64544D2BD9',
p_web_password_format => 'HEX_ENCODED_DIGEST_V2',
p_group_ids => '10592435401495787816:',
p_developer_privs=> '',
p_default_schema=> 'TEST',
p_account_locked=> 'N',
p_account_expiry=> to_date('201212040000','YYYYMMDDHH24MI'),
p_failed_access_attempts=> 0,
p_change_password_on_first_use=> 'Y',
p_first_password_use_occurred=> 'N',
p_allow_access_to_schemas => '');
end;
when I run this in 4.1.1 I had to modify it to the new format as below,
also changed the p_group_ids to new user group but kept the password the same
begin
wwv_flow_fnd_user_api.create_fnd_user (
p_user_id => '',
p_user_name => 'TEST',
p_first_name => 'a',
p_last_name => 'b',
p_description => '',
p_email_address=> '[email protected]',
p_web_password => 'E92903DEAD135E6E86BD6B64544D2BD9',
p_web_password_format => 'HEX_ENCODED_DIGEST_V2',
p_group_ids => '1399416797653068:',
p_developer_privs=> '',
p_default_schema=> 'TEST',
p_account_locked=> 'N',
p_account_expiry=> to_date('201209041006','YYYYMMDDHH24MI'),
p_failed_access_attempts=> 0,
p_change_password_on_first_use=> 'Y',
p_first_password_use_occurred=> 'N',
p_allow_app_building_yn=> 'N',
p_allow_sql_workshop_yn=> 'N',
p_allow_websheet_dev_yn=> 'N',
p_allow_team_development_yn=> 'N',
p_allow_access_to_schemas => '');
end;
the result was that the user is created fine, but the password is not valid.
Anyone knows how to export apex users with existing password to a new server?
Thanks.
Edited by: Danny on 3/12/2012 20:51Hi,
Not sure why you say
when I run this in 4.1.1 I had to modify it to the new format as below, If you just run the workspace export sql it should create the Workspace, Groups and Users
The signature of the procedure is below. See the highlighted lines.
procedure create_fnd_user (-- Description:
-- This procedure allows for programatic and bulk creation of users.
-- Example:
-- From sqlplus logged in as the privileged flows user, first
-- ensure that the security group id is set properly, then create
-- your users.
<b> -- begin wwv_flow_security.g_security_group_id := 20; end;</b>
-- begin
-- for i in 1..10 loop
-- wwv_flow_fnd_user_api.create_fnd_user(
-- p_user_name => 'USER_'||i,
-- p_email_address => 'user_'||i||'@mycompany.com',
-- p_web_password => 'user_'||i) ;
-- end loop;
-- commit;
-- end;
-- Arguments:
-- p_user_id numeric primary key of user
-- p_user_name the username the user uses to login
-- p_first_name informational only
-- p_last_name informational only
<b> -- p_web_password the unencrypted password for the new user</b>
-- p_group_ids A colon delimited list of group IDs from the table wwv_flow_fnd_user_groups
-- p_developer_privs A colon delmited list of developer privs, privs include:
-- ADMIN:BROWSE:CREATE:DATA_LOADER:DB_MONITOR:EDIT:HELP:MONITOR:SQL:USER_MANAGER
-- p_default_schema A valid oracle schema that is the default schema for use in browsing and
-- creating flows
-- p_allow_access_to_schemas A colon delimited list of oracle schemas that the user is allowed to
-- parse as. If null the user can parse as any schema available to the company.
-- This does not provide privilege it only resticts privilege, so listing a schema
-- does not provide the privilege to parse as a schema, it only restricts that user
-- to that list of schemas.
-- p_attributes_XX These attributes allow you to store arbitary information about a given user.
-- They are for use by flow developers who want to extend user information.
<b> -- p_web_password_format Identifies the format of the web password.
-- The range of values is CLEAR_TEXT, HEX_ENCODED_DIGEST, DIGEST </b>
-- p_person_type "E" marks the user as external
-->
Note there is no HEX_ENCODED_DIGEST, DIGEST_V2 listed. It may work, but not obvious from the signature.
Cheers, -
How to export user specific layouts to another user ID's
Dear Experts,
We saved some ALV layouts as a User Specific, now I want to export those layout to another user ID,
for example in User ID “X” I saved some ALV layouts as user specific now I want to move those ALV layouts to another user ID “Y” , but my “X” user Id is blocked how to export those layouts to another user ID, Kindly Help me out.
Thanks & regards,
AIMHi
You have to create a NOT User specific layout. This will be available for all the users depending on your security authorization. You cannot move a user specific layout from one id to another
Regards
Sanil Bhandari -
Hi,
I am trying to create user accounts via PowerShell instead of the Gui in server 2008 R2 (PowerShell 2.0).
I know how to create a user account with the following Power Shell command below is one from a dummy domain I created to practice.
PS C:\Users\Administrator> New-ADUser -SamAccountName "TestOut" -UserPrincipalNa
me "[email protected]" -GivenName "Test" -Surname "out" -DisplayName "Testou
t" -Name "Testout" -Enabled $true -Path "CN=users,DC=bwcat,DC=net,DC=int" -Accou
ntPassword (Read-Host -AsSecureString "Enter Account Password")
However when doing day to day tasks where I work normally we have a new hire, they contact IT and ask that a user account is created. I will ask who they would like to mirror.
I then would go into the gui pull up the user that they want to mirror right click him and choose copy. This would create a new user account that I would then fill out.
I am wondering if its possible to do this same thing via PowerShell, or if its not an option because it takes more work type up everything than it does to go into the gui and do it.
Anyway thanks for the help.Hi Wilder, hi Mark,
first of all: The tutorial sources Mark posted - especially the book "Powershell 3 in A month of lunches" - are good to get a baseline start. A really great reference, especially when you try to learn it while still dealing with your daily business.
On another note, Wilder: While I fully agree that learning things sequentially is usually the best, I too jumped right in instead of learning how to walk first (though it's been some time now. Fewer years than you'd think, but still ...). So I thought I'd
give you a little aid with that function husk, so you could just stuff interesting bits into an available structure, making use of the fun tools in a useful context (It's fun fiddling around with the commands, but if you have to type in all of them manually
each time, using the GUI is often just faster. Doing fun things and being efficient with it feels even better though ...). So ... while I
do agree with yourself, learn it the Correct & Proper Way, I also do
intend to finish this little explanation about the husk, all the way to the end.
Everything below this paragraph is part of this.
function Copy-ADUser
<#
.SYNOPSIS
A brief description of the Copy-ADUser function.
.DESCRIPTION
A detailed description of the Copy-ADUser function.
.PARAMETER GivenName
A description of the GivenName parameter.
.PARAMETER Surname
A description of the Surname parameter.
.PARAMETER Template
A description of the Template parameter.
.EXAMPLE
PS C:\> Copy-ADUser -GivenName "Max" -Surname "Mustermann" -Template "Jonny.Normal"
.NOTES
Additional information about the function.
#>
[CmdletBinding()]
Param (
[Parameter(Mandatory = $true)]
[string]
$Surname,
[Parameter(Mandatory = $true)]
[string]
$GivenName,
[Parameter(Mandatory = $true)]
[string]
$Template
) # Create finished Strings
$JoinedName = $GivenName + "." + $Surname
# Create new User
$NewUser = New-ADUser -Surname $Surname -GivenName $GivenName -DisplayName "$Surname, $GivenName" -SamAccountName $JoinedName -Name "$Surename, $GivenName" -PassThru
# Copy from old User
$NewUser | Add-ADPrincipalGroupMembership -MemberOf (Get-ADPrincipalGroupMembership $Template | Where { $_.Name -ne 'Domain Users' })
# Do Whatever else you feel like doing
This is again the same function husk I posted earlier. Only this time, I filled a little logic (the pieces that were already posted in this thread). This time, I'll not only go over each part again ... I'll do it by reposting the segments and trying to show
some examples on how to modify the parts. Thus some of it will be repetitive, but this way all the info is in one spot.
Segment: Comment Based Help
<#
.SYNOPSIS
A brief description of the Copy-ADUser function.
.DESCRIPTION
A detailed description of the Copy-ADUser function.
.PARAMETER GivenName
A description of the GivenName parameter.
.PARAMETER Surname
A description of the Surname parameter.
.PARAMETER Template
A description of the Template parameter.
.EXAMPLE
PS C:\> Copy-ADUser -GivenName "Max" -Surname "Mustermann" -Template "Jonny.Normal"
.NOTES
Additional information about the function.
#>
That's the premier documentation part of a function, that teaches a user what the function does and how to use it. It's what's shown when using the Get-Help cmdlet.
Comment texts are not restricted to single lines however. For example you could replace ...
.EXAMPLE
PS C:\> Copy-ADUser -GivenName "Max" -Surname "Mustermann" -Template "Jonny.Normal"
... with ...
.EXAMPLE
PS C:\> Copy-ADUser -GivenName "Max" -Surname "Mustermann" -Template "Jonny.Normal"
Creates a new user named Max Mustermann and copies the group memberships of the already existing user Jonny Normal to this new User
... and get an explanation on what the example does when using Get-Help with the
-Detailed parameter (Explaining examples is always a good idea).
Segment: Parameter
[CmdletBinding()]
Param (
[Parameter(Mandatory = $true)]
[string]
$Surname,
[Parameter(Mandatory = $true)]
[string]
$GivenName,
[Parameter(Mandatory = $true)]
[string]
$Template
This is the segment that tells Powershell what input your function accepts. Each parameter of Copy-ADUser you set will be available in the next segment as a variable of the same name. You can add additional parameters if you need more information for your
logic. For example, let's add a parameter that allows you to specify what Organization the new user should belong to:
[CmdletBinding()]
Param (
[Parameter(Mandatory = $true)]
[string]
$Surname,
[Parameter(Mandatory = $true)]
[string]
$GivenName,
[string]
$Organization,
[Parameter(Mandatory = $true)]
[string]
$Template
That's how that would look like. You may notice that I didn't add the line with
"[Parameter(Mandatory = $true)] this time. This means you
may add the Organization parameter when calling Copy-ADUser, but you need not.
Segment: Logic
# Create new User
$NewUser = New-ADUser -Surname $Surname -GivenName $GivenName -DisplayName "$Surname, $GivenName" -SamAccountName "$GivenName.$Surename" -Name "$Surename, $GivenName" -PassThru
# Copy from old User
$NewUser | Add-ADPrincipalGroupMembership -MemberOf (Get-ADPrincipalGroupMembership $Template | Where { $_.Name -ne 'Domain Users' })
# Do Whatever else you feel like doing
This is the part of the function that does the actual work. Compared to the first husk I posted, this time there are two commands in it (and some comments). First, I create a new user, using the information passed into
the parameters -Surname and -GivenName. Then I Copy the group memberships of the user identified by the information given by the
-Template parameter.
So, let's modify it!
# Tell the user you are starting
Write-Host "Starting to create the user account for $GivenName $Surname"
# Create new User
$NewUser = New-ADUser -Surname $Surname -GivenName $GivenName -DisplayName "$Surname, $GivenName" -SamAccountName "$GivenName.$Surename" -Name "$Surename, $GivenName" -PassThru
# Tell the user you are copying Group Memberships
Write-Host "Copying the group-memberhips of $Template to $GivenName $Surname"
# Copy from old User
$NewUser | Add-ADPrincipalGroupMembership -MemberOf (Get-ADPrincipalGroupMembership $Template | Where { $_.Name -ne 'Domain Users' })
# Do Whatever else you feel like doing
Now after adding a few lines, the logic will tell us what it's doing (and do so before it
is taking action)!
Hm ... didn't we create a change in the Parameter Segment to add an -Organization parameter? Let's use it!
# If the -Organization parameter was set, the $Organization variable will be longer than 0. Thus do ...
if ($Organization.Length -gt 0)
# Tell the user you are starting
Write-Host "Starting to create the user account for $GivenName $Surname in the Organization $Organization"
# Create new User
$NewUser = New-ADUser -Surname $Surname -GivenName $GivenName -DisplayName "$Surname, $GivenName" -SamAccountName "$GivenName.$Surename" -Name "$Surename, $GivenName" -Organization $Organization -PassThru
# If the -Organization parameter was NOT set, the $Organization variable will have a length of 0. Thus the if-condition does not apply, thus we do the else block
else
# Tell the user you are starting
Write-Host "Starting to create the user account for $GivenName $Surname"
# Create new User
$NewUser = New-ADUser -Surname $Surname -GivenName $GivenName -DisplayName "$Surname, $GivenName" -SamAccountName "$GivenName.$Surename" -Name "$Surename, $GivenName" -PassThru
# Tell the user you are copying Group Memberships
Write-Host "Copying the group-memberhips of $Template to $GivenName $Surname"
# Copy from old User
$NewUser | Add-ADPrincipalGroupMembership -MemberOf (Get-ADPrincipalGroupMembership $Template | Where { $_.Name -ne 'Domain Users' })
# Do Whatever else you feel like doing
There! Now we first check whether the -Organization parameter was set (it's not mandatory after all, so you can skip it). If it
was set, do whatever is in the curly braces after if (...). However, if it wasn't set, do whatever is in the curly braces after
else.
And that concludes my "minor" (and hopefully helpful) tutorial on how to use the function husk I posted :)
With this, whenever you find another cool command that helps you in the user creation process, you can simply add it, similar to what I did in these examples.
And if it all didn't make much sense, go through the tutorials in proper order and come back - it'll make much more sense then.
Cheers and good luck with PowerShell,
Fred
There's no place like 127.0.0.1
Maybe you are looking for
-
Deploying a flex/j2ee/blazeDS web in Ubuntu Tomcat 6
Hi! I've create a Web Application (in Eclipse - Flex Plugin on WinXP) and I want to deploy it a Ubuntu tomcat server. I've deployed a .WAR file from Eclipse (on WINXP) with the flash files and the J2EE server files (java classes). Then I put the WAR
-
Hello. First of all, please forgive my lack of knowledge as I am trying to seek the assistance of those who can help a fellow 'Go to IT Guy' at work. I have three subnets that im trying to push to our new idf closet which we had built to acommodate t
-
How are calories calculated?
I've been going on five mile walks and runs and no matter how long it takes me or how fast I go, it still always tells me I've burned the same number of calories (338). I know that if I run 5 miles at 6min/mile, I'm going to burn more calories than i
-
Can I disable/hide the brush tilt animation window?
Adobe instituted the dynamic brushes in CS5 and I'm fine with that. What I'm not fine with is not being able to hide that pop window that's supposed to aid you with knowing how the stylus is positioned in space. It's annoying. I want to hide it, or a
-
When I try to download the 10.0 update, my computer says that this, "URL can not be downloaded."