Using PowerShell to delete an ExpectedRuleEntry

Summary
The script code below deletes an ExpectedRuleEntry object from your environment.
To run this script, you need to configure a Management Policy Rule that grants you permission to perform this operation:
Management Policy Rule Configuration
Name
Administration: Administrators can delete Expected Rule Entries
Type
Request
Grants Permissions
True
Disabled
False
Requestors and Operators
Requestor
Administrators
Operation
Delete
Target Resources
Before Request
All expected rule resources
After Request
(Attribute)
Resources Attributes
All Attributes
set-variable -name URI -value "http://localhost:5725/resourcemanagementservice" -option constant
If(@(get-pssnapin | where-object {$_.Name -eq "FIMAutomation"} ).count -eq 0) {add-pssnapin FIMAutomation}
if($args.count -ne 1) {throw "Missing GUID parameter"}
$objectGUID = $args[0]
$exportObject = export-fimconfig -uri $URI `
–onlyBaseResources `
-customconfig "/ExpectedRuleEntry[ObjectID='$objectGUID']" `
-ErrorVariable Err `
-ErrorAction SilentlyContinue
If($Err){Throw $Err}
If($exportObject -eq $null) {throw "ERE not found"}
$ImportObject = New-Object Microsoft.ResourceManagement.Automation.ObjectModel.ImportObject
$ImportObject.ObjectType = "ExpectedRuleEntry"
$ImportObject.TargetObjectIdentifier = (($exportObject.ResourceManagementObject.ObjectIdentifier).split(":"))[2]
$ImportObject.SourceObjectIdentifier = (($exportObject.ResourceManagementObject.ObjectIdentifier).split(":"))[2]
$ImportObject.State = 2
$ImportObject | Import-FIMConfig -uri $URI -ErrorVariable Err -ErrorAction SilentlyContinue
If($Err){Throw $Err}
Write-Host "`nCommand completed successfully`n"
trap
Write-Host "`nError: $($_.Exception.Message)`n" -foregroundcolor white -backgroundcolor darkred
Exit 1
Go to the FIM ScriptBox
Markus Vilcinskas, Knowledge Engineer, Microsoft Corporation

I am getting error:-
Missing GUID parameterIs there any problem with script? Kindly help

Similar Messages

  • How to Use PowerShell to Delete FIM Users That Have a Null attribute name

    FIM Community Information Center Article
    Wiki Page:
    How to Use PowerShell to Delete FIM Users That Have a Null <attribute name>
    Go to the FIM Community Information Center
    Mike Crowley | MVP
    My Blog --
    Planet Technologies

    Have you run side-by-side metrics on this?
    I've run the Delete Object method and your script against similar data sets and yours appears to take a fair bit longer. I'd have to re-run in identical circumstances, a few times, to really say for sure, but my initial impression is that it will take hours
    longer.
    I guess the point is somewhat moot anyway, as for me the bit that generally takes longest is the actual query, rather than the deletions.
    Boy how I wish I could just enter something into the FIM Portal directly that would blast out a bunch of users matching a query. One day...
    FIMSpecialist.com | MCTS: FIM 2010 | Now Offering
    ECMA1->ECMA2 Upgrade Services

  • Using Powershell to delete all users from the Portal

    Summary
    This script will delete all users from the Portal except for Administrator and the Built-In Sync account.
    Based on Markus's "Delete a User" script.
    Useful when developing your system if you want to quickly clear out the data and start again.
    set-variable -name URI -value "http://localhost:5725/resourcemanagementservice' " -option constant
    function DeleteObject
    PARAM($objectType, $objectId)
    END
    $importObject = New-Object Microsoft.ResourceManagement.Automation.ObjectModel.ImportObject
    $importObject.ObjectType = $objectType
    $importObject.TargetObjectIdentifier = $objectId
    $importObject.SourceObjectIdentifier = $objectId
    $importObject.State = 2
    $importObject | Import-FIMConfig -uri $URI
    if(@(get-pssnapin | where-object {$_.Name -eq "FIMAutomation"} ).count -eq 0) {add-pssnapin FIMAutomation}
    $allobjects = export-fimconfig -uri $URI `
    –onlyBaseResources `
    -customconfig "/Person"
    $allobjects | Foreach-Object {
    $displayName = $_.ResourceManagementObject.ResourceManagementAttributes | `
    Where-Object {$_.AttributeName -eq "DisplayName"}
    if([string]::Compare($displayName.Value, "Administrator", $True) -eq 0)
    {write-host "Administrator NOT deleted"}
    elseif([string]::Compare($displayName.Value, "Built-in Synchronization Account", $True) -eq 0)
    {write-host "Built-in Synchronization Account NOT deleted"}
    else {
    $objectId = (($_.ResourceManagementObject.ObjectIdentifier).split(":"))[2]
    DeleteObject -objectType "Person" `
    -objectId $objectId
    write-host "`nObject deleted`n" $displayName.Value }
    Go to the FIM ScriptBox
    http://www.wapshere.com/missmiis

    The DeleteObject function opens and closes a connection for each object.  This approach is faster:
    http://social.technet.microsoft.com/wiki/contents/articles/23570.how-to-use-powershell-to-delete-fim-users-that-have-a-null-attribute-name.aspx
    Mike Crowley | MVP
    My Blog --
    Planet Technologies

  • Using Powershell to Delete Excel Rows

    Hi everyone.  Again, I am having trouble working with Excel via Powershell.  I am slowly learning my way around but cannot correctly utilize any information I may find that helps me get the correct results.  So far I am working on a project
    at work that is automating the testing of our build process.  I am "borrowing" an excel sheet that I will save to my local machine to save as CSV.  However, before saving to CSV I need to remove the empty rows.  Unfortunately, the cells are
    not really blank but still contain links to the server I pulled the workbook from.
    I'm not sure what is easiest to do, but the "blanks" are within this range: A49:F320  and this is the range I'd like to delete.  The code I am currently working with is:
    $Excel = new-object -comobject excel.application
    $Excel.Visible = $False
    $Workbook = $Excel.Workbooks.Open($BuildXLS)
    $Worksheet = $Workbook.Worksheets.Item(1)
    $i = 1
        If ($Worksheet.Cells.Item($i, 1).Value() -eq "  ") {
            $Range = $Worksheet.Cells.Item($i, 1).EntireRow
            $a = $Range.Delete()
            $i -= 1
        $i += 1
     Incidentally, mjolinor helped with an earlier issue parsing through the CSV.  It was only after looking at the output that I discovered my real issue is working with the Excel.
    $data = import-csv $csv | Where-Object {$_.juris -ne " "}
    #format Juris-Version results
    foreach ($line in $data)
      if ($line.juris -eq 'US'){$line.Version = $FedVerNum}
       else {$line.Version = $ContentVer}
           write-output $line.juris$line.version | Out-File -Append "C:\1_JurisVersion.txt"
    The output from that help session looks like:
    US
    $FedVerNum
    State
    $ContentVer
    State
    $ContentVer
    Is there a away I can get this to read as
    US $FedVerNum
    state $ContentVer
    state $ContentVer
    state $ContentVer
    Many thanks for the help and expertise!

    The Excel constants are "magic" numbers that can be found in Excel via the Object Browser in the Visual Basic Editor.
    There are several that I use all the time, so I made a list of the ones I use most often:
    Const ForReading = 1
    Const xlAscending = 1
    Const xlGuess = 0
    Const xlTopToBottom = 1
    Const xlSortNormal = 0
    Const xlCount = -4112
    Const xlArea = 1
    Const xlBar = 2
    Const xlColumn = 3
    Const xlLine = 4
    Const xlPie = 5
    Const xlRadar = -4151
    Const xlXYScatter = -4169
    Const xlCombination = -4111
    Const xl3DArea = -4098
    Const xl3DBar = -4099
    Const xl3DColumn = -4100
    Const xl3DLine = -4101
    Const xl3DPie = -4102
    Const xl3DSurface = -4103
    Const xlDoughnut = -4120
    Const xlPasteValuesAndNumberFormats = 12
    Const xlpasteFormats = -4122
    Const xlpasteValues = -4163
    Const xlValues = &HFFFFEFBD ' -4163
    Const xlNone   = &HFFFFEFD2 ' -4142
    Const xlSelect = 3
    Const xlCellTypeLastCell = 11 
    Or you can "Include" them like this:
    [reflection.assembly]::loadWithPartialname("Microsoft.Office.Interop.Excel") |
    Out-Null
    $xlConstants = "microsoft.office.interop.excel.Constants" -as [type]
    $ws.columns.item("F").HorizontalAlignment = $xlConstants::xlCenter
    $ws.columns.item("K").HorizontalAlignment = $xlConstants::xlCenter
     If you know what constants you need.
    You can read about this here:
    http://technet.microsoft.com/en-us/magazine/2009.01.heyscriptingguy.aspx

  • Using PowerShell to delete user's permissions?

    Hello Forum,
    I am an accountant with zero backgroud in IT. I happen to be responsible on managing our small SharePoint 2010 environment (10 Web Applications, 20 Site Collections in each Web Application, and 300 Users), and even though it been a quite difficult task, I must
    admit that I am kinda enjoying it because I get a chance to learn new things.
    Whenever I encounter an issue, I google it up and most of the time I find answers on the Internet. Nevertheless, This time I think I am having a tough problem, that's why I have decided to register and post my question for the first time ever. 
    Well, I have a few users who have left our company, and they have permissions all over the place, some of these users have Full Control and Contribute permissions on different Site Collections, SubSites, Lists, and libraries across the Web Applications that
    we have.
    Unfortunately, We do not have a proper governance process in place, and yes things are messy in our SharePoint environment, I have noticed that some of these users were granted permissions on Lists and Libs directly without using any User Groups.
    Now, It is my responsability to clean up the environment. I have spent most of my weekend guessing and cleaning up manually our SharePoint environment, by jumping from Site to another and checking through the UI and removing the user from there, But this repeated
    manual work is killing my soul I swear.
    I read a bout PowerShell and I managed to test simple commands and I hope it is the way to go. I have been using this small script:
    $web = Get-SPWeb http://MySharePointSite
    $user = get-spuser -Identity Domain\UserAccount -Web $web.url
    $list = $web.Lists["Docs/Pics Library"]
    $list.RoleAssignments.Remove( $user)
    But again, Even though it is a bit faster than working with UI, I feel it not efficient enough because have to run it against every List, Docs Lib, Pics Lib...etcs
    So guys, Is there a way in PowerShell that allows me to give the user account and the Web Application URL as parameters, and the script runs and loops through the entire Web Application with all its Site Collections and SubSites, Lists, Libs and remove that
    user from there completely regardless if that user was added diretly or in a group?
    Can PowerShell automate such a process or am I dreaming?

    Yes it can.
    However before we get there, we should note something: If you're using Active Directory (AD) for your users, and you almost certainly are, as long as the leaver's account is marked as 'Disabled' in there then security wise you're fine. The rest is just to
    keep things clean.
    If you search a bit longer you'll probably find a more complete script but to extend yours a bit we can do a few things. What we want to do is introduce 'loops'. I'm assuming you know nothing about programing but a loop is a process where the code does a
    certain activity for a set number of times or until it reaches a point to finish.
    What we'll do is use three 'get things' commands to get all the sites, all the webs in a site and then all the lists in a web to get us a list of things to run our loop on, then run your remove code.
    #This gets all the site collections you have permission to see
    $sites = Get-SPSite -Limit All
    #This loops through each site collection and calls it 'siteCollection'
    foreach ($siteCollection in $sites)
    #This gets all the webs in the site collection
    $webs = $siteCollection.AllWebs
    #This loops through all the webs
    foreach ($website in $webs)
    $user = get-spuser -Identity Domain\UserAccount -Web $website.url
    #This gets all the lists in the library
    $lists = $web.Lists
    foreach ($list in $lists)
    $list.RoleAssignments.Remove( $user)
    Now this isn't great code, there's lots of ways it may not work perfectly but it shouldn't break anything. One thing you should remember is to close the PowerShell session once you've run it as this will suffer from memory leaks (where it keeps eating up
    RAM until you close the application).
    Another thing, have you discovered PowerShell ISE yet? It's vital if you want to do semi complicated PowerShell.
    Welcome to the wonderful world of SharePoint and PowerShell. If you want let me know and i can point you to some nice gentle 'how to' resources.
    And finally, this isn't the solution to your entire problem but it will do a decent chunk of it for you and could serve as a starting point to doing the entire lot...

  • Using powershell to delete a View

    Something happened to a View on our test server. Under Review Activities, the Activities Assigned to Me is broken. Don't know what I did. Probably stared at it too long and it broke. Never worked with a product so fragile. Anyway, when I right click the
    View, the only option is Refresh. The View works, I just can't edit or delete it.
    I just want to get rid of it. I have already replaced it with another View. Outside of the console commands, how do you remove a View from existence?

    It's in a Management Pack called "Service Manager Activity Management Configuration Library". There are views that come OOTB that are are in unsealed MP's. I think if you look this MP up in the console you will find that it's unsealed in your SCSM
    installation as well? Is it possible that someone exported this MP, made changes to it and reimported it? You can actually change a lot of console behavoir via the Management Packs.
    A possible solution for you might be to reimport an original version of this management pack. Just export your current version first and keep as a backup, in case someone stored some important configuration in there (which they should not do btw).

  • How to delete term using powershell?

    Hello
    I want to delete a particular term from termstore. I dont have termset name. Without termset name how can I delete term using powershell?
    Avi

    If you don't know the termset net it makes it tricky.
    In theory if you know the name of the term you could look through all termsets to find it. The catch of course is to ensure there is only one instance of the term otherwise you may delete terms you need.
    Which version of SharePoint?
    Jason Warren
    @jaspnwarren
    jasonwarren.ca
    habaneroconsulting.com/Insights

  • Using powershell to deploy provider-hosted app and specify remote Url instead of using appinv.aspx page

    Hello all,
    Could you possibly help me with provider-hosted app development/deployment process.
    We developed SharePoint provider-hosted app that works just fine in development environment. Now we need to automate it's installation in test environment via powershell.
    In AppManifest.xml that we are deploying we have key instead of explicit URL:
    <App xmlns="http://schemas.microsoft.com/sharepoint/2012/app/manifest" Name="ShowAllRoomsApp" ProductID="{922a18aa-5592-b59a-4da9-4791baef02e7}" Version="1.0.0.0"
    SharePointMinVersion="15.0.0.0">
      <Properties>
        <Title>SomeTitle</Title>
        <StartPage>~remoteAppUrl/Pages/Default.aspx?{StandardTokens}</StartPage>
    If we use as
    https://technet.microsoft.com/en-us/library/jj655398.aspx recommends, we cannot specify Redirect Url as we can do this on
    /_layouts/appinv.aspx
    So now it seems like the only way to deploy this kind of solution is using appinv.aspx page.Or must we apply this URL in AppManifest on developing stage in Visual Studio?
    What did I miss?
    P. S. Even if I use /_layouts/appinv.aspx after powershell commandlets, I get error.

    hi,
    to deploy provider hosted app you need 2 things
    1. Client ID
    2. Redirect URL.
    What you can do you can generate app from visual studio using clientID and URL from developer enviornment.
    Now a app file is just a simple compressed zip file if you rename it as .zip and extract you will find AppManifest
    inside it. So to create an app for Testing enviornment what you have to to Get the CLient ID (from AppRegNew.aspx) in testing enviornment. Unzip .App file change the AppManifest with testing client ID and URL than again zip file and rename as .app.
    Now if you upload this file it will work.
    To automate this scenerio i have created a simple windows Application in which i Pass the Client ID and StartURl and an App File it unzips the app file make changes to app and again zip it.
    public static class AppPackageHelper
    public const string StartUrlExpression = "{0}?{1}";
    public const string StandardToken = "{StandardTokens}";
    public static string Publish(string appPath, string ClientId,string StartUrl)
    string tempDir = string.Empty;
    string outPutFile = string.Empty;
    try
    string parentDir = System.IO.Path.GetDirectoryName(appPath);
    outPutFile = System.IO.Path.Combine(parentDir, ClientId + "-Winshuttle.app");
    tempDir = System.IO.Path.Combine(parentDir, ClientId.ToString());
    Directory.CreateDirectory(tempDir);
    int lastInd = appPath.LastIndexOf('.');
    string tempPath = string.Empty;
    string targetFilePath = string.Empty;
    string cabPath = System.IO.Path.Combine(tempDir, System.IO.Path.GetFileNameWithoutExtension(appPath) + ".cab");
    FileInfo fInfo = new FileInfo(appPath) { IsReadOnly = false };
    File.Copy(appPath, cabPath);
    XDocument doc = null;
    string appManifest = string.Empty;
    using (ZipArchive zipArch = ZipFile.Open(cabPath, ZipArchiveMode.Update))
    appManifest = string.Format(@"{0}\AppManifest.xml", Directory.GetParent(cabPath).FullName);
    ZipArchiveEntry manifestEntry = zipArch.Entries.LastOrDefault(e => e.Name.ToLower() == "appmanifest.xml");
    manifestEntry.ExtractToFile(appManifest);
    doc = XDocument.Load(appManifest);
    XNamespace ns = doc.Root.GetDefaultNamespace();
    string defaultUrl = string.Format(StartUrlExpression, StartUrl.TrimEnd('/'), StandardToken);
    doc.Descendants(XName.Get("StartPage", ns.NamespaceName)).First().Value = defaultUrl;
    doc.Descendants(XName.Get("RemoteWebApplication", ns.NamespaceName)).First().Attribute(XName.Get("ClientId")).Value = setupInfo.ClientId.ToString();
    doc.Save(appManifest);
    if (manifestEntry != null)
    manifestEntry.Delete();
    zipArch.CreateEntryFromFile(appManifest, "AppManifest.xml");
    int totEnt = zipArch.Entries.Count;
    for (int e = 0; e < totEnt; e++)
    if (zipArch.Entries[e].Open().Length == 0)
    //if (zipArch.Entries.Count > totEnt && e >= totEnt) break;
    //zipArch.CreateEntry(zipArch.Entries[e].FullName);
    File.Delete(appManifest);
    if (File.Exists(outPutFile))
    File.Delete(outPutFile);
    File.Move(cabPath, outPutFile);
    return outPutFile;
    catch
    throw;
    finally
    if (System.IO.Directory.Exists(tempDir))
    System.IO.Directory.Delete(tempDir, true);
    return outPutFile;
    using System.IO.Compression.FileSystem.dll.
    Also if you want to do it using powershell You need to do the same thing unzip-> changes values-> zip
    So basic thing is You need to ahve only valid AppManifest file which contains 2 valid values Client Id and StartUrl
    if you changes it inside appmanifest manuall than it will also work. Using above code you can create a console Application to do it. You can use powershell it just that i dont know how to zip unzip in powershell but i am pretty sure you can easily find it
    on searching.
    Whenever you see a reply and if you think is helpful,Vote As Helpful! And whenever you see a reply being an answer to the question of the thread, click Mark As Answer

  • How can I define a name in Excel using Powershell?

    I know how to reference existing names using the RANGE function but how can I create a new defined name using Powershell?
    My specific case involves defining a name for a single cell with a workbook scope.  Just as if you were to right-click a cell in Excel and choose Define Name.
    The closest I've gotten is the NAMES object for the workbook but when I "gm" that all I see is a method for delete - nothing for adding.
    $xlsx = "c:\Sample.xlsx"
    $excel = new-object -comobject Excel.Application
    $xlb = $excel.Workbooks.Open($xlsx)
    $xlb.names | gm

    In Excel a Range has a name.  You can create a range and name it.  "Names" is just a list of the names that have been defined.
    So what is it that you are asking?  If your spreadsheet has names this will find them for you.
    Try this:
    $xlb.names|select name
    $r=$xlb.sheets.item(1).UsedRange
    $r.Name='all'
    # now do this again
    $xlb.names|select name
    So now you know everything about "names" or, as us old pros say "named ranges" like in the old  west.
    ¯\_(ツ)_/¯

  • How can I hide "Taxonomy Catch All Column" without using PowerShell?

    After having moved some files around, I find that my view and edit properties forms include the field "Taxonomy Catch All Column" and the field IDs which are just going to be confusing gobbledegook to my end users.
    I can't seem to find a way to get rid of it. I can't delete it and I can't see where to hide it. Searches only seem to turn up PowerShell script solutions, and I can't use PowerShell.
    It's SharePoint 2010 Server, I'm a site admin and I can use SharePoint Designer, but not powershell, no server access, no central admin access.
    Can anyone help please?

    Hi,
    For your issue, it seems to be related to use Content & Structure. 
    If you choose to move content that contains managed metadata columns (or presumably enterprise keywords), the Taxonomy Catch All column shows up after you use the "Content and structure" tool. It shows up as a column in the library and is visible
    in "Edit Properties" on every document.
    Why are you can’t use power shell? It is convenient to solve your problem with power shell.
    Here is a similar post, you can use as a reference:
    https://social.msdn.microsoft.com/Forums/en-US/896cea1d-dc40-47f1-80f4-7a01f2d23fd9/what-is-the-significance-of-taxonomy-catch-all-column-lookup-column
    http://blogs.c5insight.com/Home/tabid/40/entryid/385/Why-Do-Hidden-Taxonomy-Catch-All-Columns-Become-Visible.aspx
    Besides, here is an article, you can have a look at:
    http://www.andrewconnell.com/sharepoint-2010-managed-metadata-in-depth-look-into-the-taxonomy-parts
    Best Regards,
    Lisa Chen
    Lisa Chen
    TechNet Community Support

  • Using Powershell to set Multiple timed.servers with variables

    Having an issue using PowerShell to set 3 timed.servers which are defined in a variable. Running the commands: $TimeServers = "IPaddress1,IPaddress2,IPaddress3"Set-NaOption -OptionName timed.servers -OptionValue $TimeServers Thanks in advance!

    Hi, The Set-NaOption CmdLet -optionvalue parameter expects a string and it shouldn't matter if that's a comma delimited string containing multiple IP Addresses. I noticed that whilst the cmdlet thows an error it does actually set the option value for all servers so this seems like it could be a bug (IMO). It might be possible to invoke the API using "Invoke-NaSystemApi" but I checked the ZAPI and noticed this also fails using ZExplore from the SDK: ZAPI Request: <?xml version="1.0" encoding="UTF-8"?>
    <netapp  xmlns="http://www.netapp.com/filer/admin" version="1.21">
      <options-set>
        <name>timed.servers</name>
        <value>192.168.100.10,192.168.100.11,192.168.100.12</value>
      </options-set>
    </netapp> ZAPI Results: <?xml version='1.0' encoding='UTF-8' ?>
    <netapp version='1.1' xmlns='http://www.netapp.com/filer/admin'>
        <!-- Output of options-set [Execution Time: 8610 ms] -->
        <results reason='Unable to set option: timed.servers' errno='13001' status='failed'>
            <cluster-constraint>same_preferred</cluster-constraint>
            <cluster_constraint>same_preferred</cluster_constraint>
            <message>1 entry was deleted.
    </message>
        </results>
    </netapp> So i think the options are either using the "Set-NaOption" cmdlet with the -SilentlyContinue parameter or the "Invoke-NaSsh" cmdlet with -ErrorAction stop.As a work around i'd recommend something like: [String]$servers = "192.168.100.10,192.168.100.11,192.168.100.12"
    [String]$command = "options timed.servers $servers"
    Try{
       Invoke-NaSsh -Command $command -ErrorAction Stop
       Write-Host "Executed Command: $command"   
    }Catch{
       Write-Warning -Message $("Failed Executing Command: $command. Error " + $_.Exception.Message)
    } Hope that helps /matt

  • Check the type of column using powershell within a splist

    hi,
    i have a column called BU in my splist in many site collections.i had created using with lookup datatype and  now  since my design is changed i  want to create this as  a a choice field with few default values. Can anyone please
    help how to check this using powershell? i mean check the  datatype of  column using PS and  if its lookup then need to delete the list and recreate it with choice field. i know hot to create a splist with choice field using PS,
    but  i am unable to get the code for existence of lookup or choice field.
    $web = Get-SPWeb "http://sitename"
    $fieldnamebu= "BU"
    $mysplist = $web.lists["mysplist1"]
    $lookupfieldA="Lookup"
    foreach($sfield in $mysplist.fields)
    # how to check the datatype pf column as lookup
    if ( ##todo#### -eq $lookupfieldA )
    $mysplist.Delete();
    $web.upate();
    create the splist with choice field$spTemplate = $web.ListTemplates["Custom List"] #Create SPTemplate instance of Type Custom List
    $web.Lists.Add("mysplist1", "for approvers", $spTemplate)   #Add list to site$spList = $spWeb.Lists["mysplist1"]    #Get list instance
    $spList.OnQuickLaunch = $True   $spList.Update()    #Update list to reflect changes in site
    $spFieldType = [Microsoft.SharePoint.SPFieldType]::Text      #Get Field type to create
    $spList.Fields.Add("Mymn", $spFieldType, $false)      #Add new field to list}

    HI,
    To get the field types please refer below link...
    foreach ($field in $list.Fields) #Get all fields in lists
    if($spField -eq $field.Title) #if field in lists equals field in views
    Write-Host $spField " | " $field.Type -ForegroundColor Green #Write out each field (column)
    https://gallery.technet.microsoft.com/office/SharePoint-Get-SPFields-49039dc0
    To Create Choice field follow below reference:
    https://social.msdn.microsoft.com/Forums/en-US/8a874677-91cf-41dd-a601-f0dd7fdce213/creating-a-choice-column-via-powershell
    http://adicodes.com/add-fields-to-list-with-powershell-in-sharepoint-2010/
    Don't
    forget to mark it as an Answer if it resolves your issue and Vote Me as helpful if it useful.
    Mahesh

  • Who has full access on all mailboxes in Exchange 2010 using Powershell ?

    Greetings,
    Could you please tell me how can i know Who has full access on all mailboxes in Exchange 2010 using Powershell ?
    Thanks.
    Redouane SARRA

    This is going to depend greatly on WHICH inherited permissions you plan to delete - there are some that you can never delete if you want the system to function properly.  Now, that being said, let's look at some example permissions.  First, here
    are some permissions on a standard mailbox:
    Identity             User                 AccessRights                                               
    IsInherited Deny
    users.corp.... USERS\btwatcher    {FullAccess}                                               
    False       False
    users.corp.... USERS\svcactAdmin {FullAccess}                                               
    True        False
    users.corp.... CORP\Domain Ad... {FullAccess}                                               
    True        True
    users.corp.... CORP\Enterpris... {FullAccess}                                               
    True        True
    users.corp.... CORP\Organizat... {FullAccess}                                               
    True        True
    users.corp.... CORP\adminact    {FullAccess}                                               
    True        True
    users.corp.... CORP\esswin       {FullAccess}                                               
    True        True
    users.corp.... USERS\svcactEncase {FullAccess}                                               
    True        False
    users.corp.... CORP\Exchange ... {FullAccess}                                               
    True        False
    users.corp.... NT AUTHORITY\SYSTEM  {FullAccess}                                               
    True        False
    As you can see, the first is not inherited.  All others are, and two are from service accounts (svcact...).  Also, some are Exchange system permissions, some are denies, and some are just administrative accounts.  Once you determine which
    you wish to remove, the SIMPLEST way to set the permissions you want is to open the account properties in ADSIEdit, and go to the Security tab.  Here, click the Advanced button and find the inherited permission you wish to remove.  ADSIEdit will
    show where the permission is inherited from - you will need to go to that container to remove the inherited permission.  You can also grant inherited denies at the same level(s).
    Now, something you will need to understand is that if you hope to remove permissions granted to domain administrators, the system will replace them - these permissions are required by the system and can't be modified permanently.

  • Using Powershell Script Run simple query in MS Access 2007 and export the results of query to Excel

    Hi Experts,
    I have a Access 2007 DB file and 2 Big tables inside that (bigger than the size that can be easily handled by MS Excel 2007).
    My requirement is automate using powershell scripts the below things.
    1. Create a SQL query in Access DB and save that in access DB
    2. Run the saved query and export the result in excel sheet where I can create the charts and Pivots. Thanks in advance
    Prajesh

    Do you have to use the Access query, couldn't you just recreate the query in Powershell?  Here's a link with good info that references an existing script for querying an Access database:
    http://blogs.technet.com/b/heyscriptingguy/archive/2009/08/13/hey-scripting-guy-can-i-query-a-microsoft-access-database-with-a-windows-powershell-script.aspx
    Once you have your dataset you can pipe it to
    Export-Csv -NoType c:\pathtofile\output.csv

  • Create SharePoint 2010 Search Service Application Using Powershell

    Hi Team,
    Could you please assist me in completing the search service application for
    two server using powershell. Both the servers will be running all the component
    Version SharePoint 2010
    # 1.Setting up some initial variables.
    write-host 1.Setting up some initial variables.
    $SSAName = "Search Service Application"
    $SVCAcct = "Domain\ServiceAccount"
    $SearchAppPoolName ="DefaultAppPool"
    $SSI = get-spenterprisesearchserviceinstance -local
    $err = $null
    $SSADBName="Search_AdminDB"
    $SSADBServer="DBServer"
    $host1="Server1"
    $host2="Server2"
    # Start Services search services for SSI
    write-host Start Services search services for SSI
    Start-SPEnterpriseSearchServiceInstance -Identity $SSI
    # 2.Create an Application Pool.
    write-host 2.Create an Application Pool.
    #$AppPool = new-SPServiceApplicationPool -name $SSAName"-AppPool" -account $SVCAcct
    $AppPool = Get-SPServiceApplicationPool -Identity $SearchAppPoolName -ErrorAction SilentlyContinue
    # 3.Create the SearchApplication and set it to a variable
    write-host 3.Create the SearchApplication and set it to a variable
    $SearchApp = New-SPEnterpriseSearchServiceApplication -DatabaseServer $SSADBServer -Name $SSAName -applicationpool $AppPool -databasename $SSADBName
    #4 Create search service application proxy
    write-host 4 Create search service application proxy
    $SSAProxy = new-spenterprisesearchserviceapplicationproxy -name $SSAName"ApplicationProxy" -Uri $SearchApp.Uri.AbsoluteURI
    # 5.Provision Search Admin Component.
    write-host 5.Provision Search Admin Component.
    set-SPenterprisesearchadministrationcomponent -searchapplication $SearchApp -searchserviceinstance $SSI
    # 6.Create a new Crawl Topology.
    write-host 6.Create a new Crawl Topology.
    $CrawlTopo = $SearchApp | New-SPEnterpriseSearchCrawlTopology
    New-SPEnterpriseSearchCrawlComponent -SearchTopology $newTopology -SearchServiceInstance $hostA
    Source:blog.MSDN Author- Russ Maxwell
    Thanks Basva

    Could you please assist me in completing the search service application for
    two server using powershell. Both the servers will be running all the component 
    Hi Basva,
    Do you want to provision two search service applications in single farm?
    Commonly, only one search service application is needed in a farm for Search function.
    Here are articles for detail information about how to provision search service application using powershell:
    http://blogs.msdn.com/b/jjameson/archive/2011/02/28/powershell-script-to-configure-search-in-sharepoint-server-2010.aspx
    http://blogs.msdn.com/b/russmax/archive/2009/10/20/sharepoint-2010-configuring-search-service-application-using-powershell.aspx
    Regards,
    Rebecca Tu
    TechNet Community Support
    Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact
    [email protected]

Maybe you are looking for

  • Metadata load using ODI

    Hi I am trying to load new Employees using ODI.Our Employee members are in Alphabetical order.Is there any way i can load new employees in Alphabetical order. Please suggest, Thanks,

  • Connection Object Delta Load not happening

    Hi Gurus,              I am doing integration between ISU and CRM 5.0. I have achieved integration both sides for BP , Contract Account. I have also done initial load for Connection Objects using object 'SI_CONNOBJ'. We are able to see IBase getting

  • Help needed with Elements 11 reinstallation.

    ???  The hard drive on my new computer with Windows 8.1 is being replaced because it is defective.  How do I reinstall Photoshop Elements 11 ?  I Have a disc but was told it will only download one time  ---  which I did in January. Also, why can't I

  • Damaged or incomplete files at launch

    When I try to start up iTunes, i get the message 'Damaged or incomplete files'. I tried reinstalling and it din't work. I REALLY like iTunes so if you have an answer that would be great!

  • Mac error 1 Creative Cloud

    buenas tardes alguien me podría indicar que pasos a seguir ya que intento instalar la aplicación de Adobe Creative Cloud en mi Mac y en mitad de la instalación aparece un error 1 y no me permite continuar. gracias