Replace Part of DisplayName Using PowerShell

Hello,
I am trying to replace part of a display name using powershell. For example, our display names look like this:
"Lname, Fname/Department"
I'm trying to replace only the department, basically what is after the /, from "Information Systems" to "IT"
Here's what I have but it is failing:
Get-ADUser "ex10testertesters" | % { Set-AdUser $_ -DisplayName ($_.Displayname -replace 'Information Systems$','IT') }
Error I am getting is below:
Set-ADUser : replace
At line:1 char:48
+ Get-ADUser "test" | % { Set-AdUser <<<<  $_ -DisplayName ($_.Dis
playname -replace '/Information Systems','IT') }
    + CategoryInfo          : InvalidOperation: (CN=ex10tester...DC=company,DC
   =com:ADUser) [Set-ADUser], ADInvalidOperationException
    + FullyQualifiedErrorId : replace,Microsoft.ActiveDirectory.Management.Com
   mands.SetADUser
Can anyone assist in what the issue is? Thank you!

DisplayName is not a default attribute returned by Get-ADUser; you'll need to specify it.
Get-ADUser "ex10testertesters" -Properties 'DisplayName' | % {
$newDisplayName = $_.Displayname -replace 'Information Systems$','IT'
Set-AdUser $_ -DisplayName:$newDisplayName

Similar Messages

  • Search and Replace text in file using PowerShell

    I want to schedule a script in PowerShell to search a directory for an XML file for a particular text string and replace it with a different text string and then save the file with the same name, the name of the file
    will change each time the script is run on a daily basis. There will only be one XML file in the location when the scheduled script is run.
    I have never used PowerShell but am familiar with batch file commands, can anyone please help!!
    KevinS

    Hi Kevin,
    I’m writing to just check in to see if the suggestions were
    helpful. If you need further help, please feel free to reply this post directly so we will be notified to follow it up.
    If you have any feedback on our support, please
    click here.
    Best Regards,
    Anna
    TechNet Community Support

  • How to Export Team Site Site Pages to .aspx and for subsequent upload to other Team Site and Web Part Customisation included. (Powershell)

    Hi guys,
    Can i please technically know how to export an .aspx file (in Site Pages library of a team site) to local file?
    Basically, SharePoint Designer has this feature "Export File"
    i Need exactly the same feature that can be done in Powershell
    I tried the following
    $web = get-spweb "MY URL"
    $folder = $web.GetFolder("SitePages")
    $files = $folder.files
    #trying to download the first file
    [System.IO.File]::WriteAllBytes("C:\\LocalPath",$files[0].OpenRead(),$true)
    The file exported via this method is Clean HTML without the Web Part Customisation!
    I NEED the web part customisation in the exported files.
    Sample downloaded via above script
    <!-- Cropping -->
    <tr>
    <td id="_invisibleIfEmpty" name="_invisibleIfEmpty" valign="top" height="100%"> <WebPartPages:WebPartZone runat="server" Title="loc:LeftColumn" ID="LeftColumn" FrameType="TitleBarOnly"/> </td>
    <td id="_invisibleIfEmpty" name="_invisibleIfEmpty" valign="top" height="100%"> <WebPartPages:WebPartZone runat="server" Title="loc:MiddleColumn" ID="MiddleColumn" FrameType="TitleBarOnly"/> </td>
    <td id="_invisibleIfEmpty" name="_invisibleIfEmpty" valign="top" height="100%"> <WebPartPages:WebPartZone runat="server" Title="loc:RightColumn" ID="RightColumn" FrameType="TitleBarOnly"/> </td>
    </tr>
    <!-- Cropping -->
    I tried using WebRequest, it returns the  End HTML, which is not working too.
    Please if anyone has done this? Or is there any SharePoint Designer Developer here and is willing to share how to perform the export in SharePoint Designer via Powershell? API available?
    Much Appreciated!
    Cheng

    Hi,
    According to your post, my understanding is that you wanted to export Team Site Site Pages to .aspx and for subsequent uploaded to other Team Site and Web Part Customisation included using Powershell.
    You can export a specific file or object from the Export-SPWeb context.
    Export-SPWeb -identity "http://sharepoint" -ItemUrl "/default.aspx"  -Path "c:\default.aspx"
    Import-SPWeb -identity "http://sharepoint" -Path "C:\default.aspx"
    Here is a similar thread for you to take a look at:
    http://sharepoint.stackexchange.com/questions/56664/how-to-download-a-sharepoint-aspx-page-from-server-using-powershell
    More information:
    http://technet.microsoft.com/en-us/library/ee428301(v=office.14).aspx
    Best Regards,
    Linda Li
    Linda Li
    TechNet Community Support

  • Use Powershell to replace text with image in Word document

    I have a powershell script that uses a Word document as a template to create signatures that I am pushing out to my organization.
    The document is populated with text formatted the way I want the signature to look, that I then do a FindText and ReplaceText on.  This works fine for replacing text with text, but I can't figure out how to properly replace some of the holder text with
    an image and a link.  I found a few posts about adding images to word documents, but none that seem to work properly in this scenario.
    Any insight would be greatly appreciated, thanks!

    Dear BOFH,
    You are correct that method I outlined is not for inserting an image into a signature block (which would be in Outlook, not Word).  The links you post do certainly deal with outlook signatures, well done... Except that the question was about how to
    use a Powershell script to replace text in a Word document with an image.  Sure it was framed in the context of creating signatures, but the poster expressed that they already had a method of generating and replacing text, and just needed to know, as
    I did, how to do the thing they actually asked.
    Please BOFH... Please forgive my audacity in hoping to find a reference (any reference) to how to replace Word text with images via Powershell in a thread titled "Use Powershell to replace text with image in Word document".
    This is certainly a scripting question, and even something as simple as "You will need to call the .NET methods for the Word find/replace functionality.  Please ask in the Word forums for the correct method to use. 
    If you need help on calling .NET methods look HTTP ://here"support you offered combined with the contempt you offer in response to my actual substantive help to the actual question asked.
    BOFH, you are not better than us, just more arrogant.
    Can you please start your own question as this one has been closed.  Please see scripting guidelines.
    We cannot guarantee you satisfaction as this is a user supported forum.  The is no SLA for community support.  Perhaps if you posted a better worded question as a new topic someone might be able to help you resolve your issue.
    The topic you are posting on is closed and answered.
    ¯\_(ツ)_/¯

  • Replace document properties using powershell

    Hello ,
    I have document library. It has one column of categories. There are multiple categories tagged for many document .I want to replace some old categories with new one using powershell.
    In other words, first i need to check if that item column has that property if yes replace it with new property. 
    I dont want to change properties manually as this need checking out document. 
    Please guide. powershell script will be helpful for me.

    http://blogs.msdn.com/b/paulking/archive/2011/10/04/using-powershell-scripts-to-modify-document-properties-in-sharepoint-2010.aspx
    # Load SharePoint library
    [system.reflection.assembly]::LoadWithPartialName("Microsoft.Sharepoint")
    # Connect to the site collection http://SP2010 and store the object in the $site variable
    $site = New-Object Microsoft.SharePoint.SPSite("http://SP2010")
    # Connect to the root site in the site collection and store the object in $root
    $root = $site.rootweb
    # Store the Shared Documents document library in a variable $Docs
    $docs = $root.lists["Shared Documents"]
    # Display all the documents, their titles, names and IDs
    $docs.items | format-table -property title,name,id
    # Updates the title for each item in the list with Name
    $docs.items | ForEach { $_["Title"] = $_["Name"]; $_.Update() }
    # Display all the documents, their titles, names and IDs
    $docs.items | format-table -property title,name,idOr try http://sharepoint.stackexchange.com/questions/78084/how-to-update-document-meta-data-using-powershell$listItem = $web.GetListItem($file.ServerRelativeUrl);
    $listItem.File.Checkout();
    $listItem.Properties['My Cust Prop 1'] = 30
    $listItem.Properties['My Cust Prop 2'] = '2012-10-25T00:00:00Z'
    $listItem.Update();
    $listItem.File.Checkin('Updated')http://sharepoint.stackexchange.com/questions/61159/get-document-properties-keys-valuehttp://social.technet.microsoft.com/Forums/ro-RO/db9191e4-c1b6-4d4b-aa58-a352da1839fc/powershell-script-to-create-document-libraries-with-specific-properties?forum=sharepointadminprevious
    If this helped you resolve your issue, please mark it Answered

  • IBook/Powerbook superdrive used for macbook pro replacement part?

    Can I use a superdrive from an ibook or powerbook as a replacement part for my macbook pro?

    I doubt the iBook drives would fit as Apple tended to use slightly larger drives but out of an Aluminium PowerBook you might have some luck.

  • SP 2013 - Use PowerShell to Add a Custom Web Part to a Page

    Hello Community,
    I need to add a custom web part to a page using PowerShell - has anyone done this and if so please provide guidance and code examples.
    Thanks!
    Tom
    Tom Molskow - Senior SharePoint Architect - Microsoft Community Contributor 2011 and 2012 Award -
    Linked-In - SharePoint Gypsy

    BTW, here is my current code:
    #$web= Get-SPWeb -Identity "http://c4968397007/sites/BRE"
    $Url = "http://c4968397007/sites/BRE"
    $pageUrl = "/SitePages/Home"
    $webpartzone = 2
    $index = 0
    $fileName = "wp_DistrictHomePage_VisualWebPart1.webpart"
    $web = Get-SPWeb $Url
    $web.AllowUnsafeUpdates=$true
     $webPartGallery = $web.Lists["Web Part Gallery"]
     Write-Host "Searching webpart $fileName in web part gallery"
      if($webPartGallery -eq $null)
       Write-Host("Unable to retrieve Webpartgallery");
     $webpart = $null;
     $webpart=$webPartGallery.Items | ? { $_.Title -eq $fileName}
      if($webpart -eq $null) {
       Write-Host("Unable to retrieve webpart: $fileName") -ForegroundColor Red
     else {
      Write-Host("----------Adding Webpart--------")-ForegroundColor Yellow
      $webpartmanager=$web.GetLimitedWebPartManager($pageUrl, [System.Web.UI.WebControls.WebParts.PersonalizationScope]::Shared)
      $errorMsg = "";
      $xmlReader = New-Object System.Xml.XmlTextReader($webpart.File.OpenBinaryStream());
      $webpart = $webpartmanager.ImportWebPart($xmlReader,[ref]"Error")
      $webpartmanager.AddWebPart($webpart, $webpartzone, $index);
      Write-Host("Webpart is added successfully") -ForegroundColor Green ;
    $SiteURL =$Url
    #---------------Test Page----------------------------
    $PageName="Test.aspx"
    $page=$web.lists["Pages"].Items | ? {$_.Name -eq $PageName}
    $page.File.CheckOut();
    Add-WebPartToPage "$SiteURL/Pages/$PageName" "Header" 0 "My Custom WebPart"
    $page.File.CheckIn("Added Web part to a page");
    $page.File.Approve("Added Web part to a page");
    Tom Molskow - Senior SharePoint Architect - Microsoft Community Contributor 2011 and 2012 Award -
    Linked-In - SharePoint Gypsy

  • How to used REGEXP_REPLACE  for replace part of string ?

    hi
    How can i replace part of string as following , i want to replace space in date by "-"
    SELECT
    REGEXP_REPLACE(upper('Daivd bought stuff by 2000 USD on 12 Sep 2012 from KL and left kl on 20 Sep 2012'),
    '[0-9]{1,2}[^0-9](JAN|FEB|MAR|APR|JUN|JUL|AUG|SEP|OCT|NOV|DEC)[^0-9][0-9]{4}',
    ' ','-') "REGEXP_REPLACE"
    FROM DUAL;
    the output will be like this
    Daivd bought stuff by 2000 USD on 12-Sep-2012 from KL and left kl on 20-Sep-2012
    regards

    I thought the questions is answered.
    Your code will not work, because the alternate expression applies only to the four digit year and the month.
    If you want to recognize both date formats with one expressions, you have to group the complete expressions.
    The disadvantage of this would be, that the backreferences would not work in the same way because you would have more groups.
    I advice to use two separate regular expressions for this task.
    Take a look at the following example if you simply want to fill the gaps with -:
    with yourtable as
      select 'Daivd bought stuff by 2000 USD on 12 Sep 2012 from KL and left kl on 20 Sep 2012' text from dual union all
      select 'Daivd bought stuff by 2000 USD on Sep, 20 2012 from KL and left kl on Sep, 20 2012' text from dual 
    SELECT
    REGEXP_REPLACE(
    REGEXP_REPLACE(text,
    '([0-9]{1,2}) (JAN|FEB|MAR|APR|JUN|JUL|AUG|SEP|OCT|NOV|DEC) ([0-9]{4})','\1-\2-\3',1,0,'i'),
    '(JAN|FEB|MAR|APR|JUN|JUL|AUG|SEP|OCT|NOV|DEC), ([0-9]{1,2}) ([0-9]{4})','\1-\2-\3',1,0,'i') regexp_replace
    FROM yourtable;If you want same output-format for both date formats you could use this:
    with yourtable as
      select 'Daivd bought stuff by 2000 USD on 12 Sep 2012 from KL and left kl on 20 Sep 2012' text from dual union all
      select 'Daivd bought stuff by 2000 USD on Sep, 20 2012 from KL and left kl on Sep, 20 2012' text from dual 
    SELECT
    REGEXP_REPLACE(
    REGEXP_REPLACE(text,
    '([0-9]{1,2}) (JAN|FEB|MAR|APR|JUN|JUL|AUG|SEP|OCT|NOV|DEC) ([0-9]{4})','\1-\2-\3',1,0,'i'),
    '(JAN|FEB|MAR|APR|JUN|JUL|AUG|SEP|OCT|NOV|DEC), ([0-9]{1,2}) ([0-9]{4})','\2-\1-\3',1,0,'i') regexp_replace
    FROM yourtable;Edited by: hm on 25.09.2012 22:00

  • [SOLVED] - How to Rename a Win 7 Computer Using Powershell (deployment)

    For those who just want to know what I'm trying to do here's my question:
    How I can programmatically rename machines during the auditSystem/auditUser portion of Sysprep using PowerShell?
    What is the exact command and/or function should I be issuing?
    History:
    I've scoured the web for a while but unsuccessfully located what I was looking for.  I'm preparing a Windows 7 Enterprise x86 image for deployment, and I need to rename the machine to match our current PC name schema before it is joined to the domain. 
    I've managed to pull the information I needed to build the corret computer name thanks to Win32_BIOS.SerialNumber, Win32_ComputerSystem.Model and some IP<->Hashtable Array matching.  The next step is to actually rename the machine; This is
    where I'm having trouble.
    I found this code online :
    Function Rename-ComputerName ([string]$NewComputerName){
    $ComputerInfo = Get-WmiObject -Class Win32_ComputerSystem
    $ComputerInfo.rename($NewComputerName)}
    I also found
    this code online :
    function renameAndReboot([string]$computer, [string]$newname){
    $comp = gwmi win32_computersystem  -computer $computer
    $os   = gwmi win32_operatingsystem -computer $computer
    $comp.Rename($newname)
    $os.Reboot()}
    Unfortunately, neither work in PowerShell on my reference image PC running Windows 7.  (However the first one works in PowerShell on my XP Virtual PC.)
    The ReturnValue is 1326 when run on the Win 7 machine as the Administrator.  I'm not quite certain I understand what & why that fails or what exactly that code means.
    Moving on, I decided to go down the WMIC path instead:
     WMIC ComputerSystem where Name="%computername%" call Rename Name="$NewName"
    This works in CMD.exe on Windows XP and to my surprise, in CMD.exe on Windows 7 as well!  But, when run from PowerShell I get "Error: Invalid query".
    Thinking PowerShell might not like the CMD.exe %COMPUTERNAME% environment variable, I sprang for the PowerShell $env:computername environment variable instead:
     WMIC ComputerSystem where Name="$env:computername" call Rename Name="$NewName"
    That unfortunately results in an 'Unexpected switch at this level' error.
    Other suggestions I've seen online were to use netdom, but that's not part of the Win 7 install and since I've historically been able to do this through WMI calls, it should be possible to do this in Win 7, Vista, Server etc.
    I'm completely open to the idea that perhaps I'm doing something wrong.  If you have a tested solution, please share.

    <?xml version="1.0" encoding="utf-8"?>
    <unattend xmlns="urn:schemas-microsoft-com:unattend">
    <settings pass="generalize">
    <component name="Microsoft-Windows-Security-SPP" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <SkipRearm>1</SkipRearm>
    </component>
    </settings>
    <settings pass="specialize">
    <component name="Microsoft-Windows-Deployment" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <RunSynchronous>
    <RunSynchronousCommand wcm:action="add">
    <Order>1</Order>
    <Path>net user administrator /active:yes</Path>
    </RunSynchronousCommand>
    </RunSynchronous>
    </component>
    <component name="Microsoft-Windows-Security-SPP-UX" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <SkipAutoActivation>true</SkipAutoActivation>
    </component>
    <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <OEMInformation>
    <Manufacturer>Company Name</Manufacturer>
    <Model>Company Owned Hardware</Model>
    <SupportHours>Mon-Fri 8 AM - 8 PM Central Time; excluding Holidays</SupportHours>
    <SupportPhone>1-888-xxx-xxxx</SupportPhone>
    <SupportURL>http://our.support.url.information</SupportURL>
    <Logo>%WINDIR%\WallPapr2.bmp</Logo>
    </OEMInformation>
    <OEMWelcomeCenter>
    <link>http://our.helpdesk.information</link>
    </OEMWelcomeCenter>
    <ComputerName></ComputerName>
    <CopyProfile>true</CopyProfile>
    <ShowWindowsLive>false</ShowWindowsLive>
    <TimeZone>Central Standard Time</TimeZone>
    <ProductKey>FJ82H-XT6CR-J8D7P-XQJJ2-GPDD4</ProductKey>
    </component>
    <component name="Microsoft-Windows-UnattendedJoin" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Identification>
    <Credentials>
    <Domain>domainname</Domain>
    <Password>password</Password>
    <Username>domainadmin</Username>
    </Credentials>
    <JoinDomain>domainname</JoinDomain>
    <MachineObjectOU>OU=OU Information,DC=com</MachineObjectOU>
    </Identification>
    </component>
    </settings>
    <settings pass="oobeSystem">
    <component name="Microsoft-Windows-International-Core" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <InputLocale>en-us</InputLocale>
    <SystemLocale>en-us</SystemLocale>
    <UILanguage>en-us</UILanguage>
    <UserLocale>en-us</UserLocale>
    <UILanguageFallback>en-us</UILanguageFallback>
    </component>
    <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <AutoLogon>
    <Password>
    <Value>encrypted info</Value>
    <PlainText>false</PlainText>
    </Password>
    <Enabled>true</Enabled>
    <LogonCount>3</LogonCount>
    <Username>administrator</Username>
    </AutoLogon>
    <FirstLogonCommands>
    <SynchronousCommand wcm:action="add">
    <CommandLine>%WINDIR%\Setup\Scripts\NewPC1.cmd</CommandLine>
    <Description>Change Machine Name and Reboot</Description>
    <Order>1</Order>
    <RequiresUserInput>false</RequiresUserInput>
    </SynchronousCommand>
    <SynchronousCommand wcm:action="add">
    <CommandLine>%WINDIR%\Setup\Scripts\NewPC2.cmd</CommandLine>
    <Order>2</Order>
    <RequiresUserInput>false</RequiresUserInput>
    <Description>More Cleanup Work</Description>
    </SynchronousCommand>
    </FirstLogonCommands>
    <OEMInformation>
    <Manufacturer>Company Name</Manufacturer>
    <Model>Company Owned Hardware</Model>
    <SupportHours>M-F, 8 am - 8 pm Central excluding Holidays</SupportHours>
    <SupportPhone>1-888-xxx-xxxx</SupportPhone>
    <SupportURL>http://our.support.url.information</SupportURL>
    </OEMInformation>
    <OEMWelcomeCenter>
    <link>http://our.helpdesk.information</link>
    </OEMWelcomeCenter>
    <OOBE>
    <HideEULAPage>true</HideEULAPage>
    <NetworkLocation>Work</NetworkLocation>
    <ProtectYourPC>3</ProtectYourPC>
    </OOBE>
    <UserAccounts>
    <AdministratorPassword>
    <Value>encrypted info</Value>
    <PlainText>false</PlainText>
    </AdministratorPassword>
    <LocalAccounts>
    <LocalAccount wcm:action="add">
    <Password>
    <Value>encrypted info</Value>
    <PlainText>false</PlainText>
    </Password>
    <Description>Local Administrator</Description>
    <DisplayName>Administrator</DisplayName>
    <Group>Administrators</Group>
    <Name>Administrator</Name>
    </LocalAccount>
    </LocalAccounts>
    </UserAccounts>
    <RegisteredOrganization>Company Name</RegisteredOrganization>
    <RegisteredOwner>Licensed CompanyEmployee</RegisteredOwner>
    <TimeZone>Central standard Time</TimeZone>
    </component>
    </settings>
    <cpi:offlineImage cpi:source="wim:location/of/install.wim#Windows 7 PROFESSIONAL" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
    </unattend>
    Jnaas. My Answer file?
    I hope I didnt leave anything incriminating in that file...
    The product key is the generic one for Windows 7 to tell it to use the KMS server.

  • Modify an user attribute using Powershell script

    In the current account creation script I am setting the following two attributes targetAddress and proxyAddressess:
    $UserAttributes[0].Add('targetAddress', $User.mail)
     $UserAttributes[0].Add('proxyAddresses', "SMTP:" + $User.mail)
    I need to be able to change these values sometimes.  I thought if I replaced add with replace that would work it did not.
    Ideas?
    Here is the whole function:
     $AttributeItems=$UserAttributes[0].GetEnumerator()
     ForEach ($AttributeItem in $AttributeItems) {
      $AIKey=$AttributeItem.Key
      $NewAttribute=$AttributeItem.Value
      $ADAttribute=$FullUser.$AIKey
      if ($ADAttribute -ne $NewAttribute) {
       Set-ADUser $User.sAMAccountName -Replace @{$AIKey=$NewAttribute}
     $UserAttributes[0].Add('targetAddress', $User.mail)
     $UserAttributes[0].Add('proxyAddresses', "SMTP:" + $User.mail)
     $ClearCount=$UserAttributes[1].Count
     If ($UserAttributes[1].Count -gt 0) {
      Set-ADUser $User.sAMAccountName -Clear $UserAttributes[1]
     $enattendantgodot='Hold on there pardner!'

    I'm using example 4.
    This is what I have: 
    $UpdateUserAttributesArray = 'sn','givenName','initials','displayName','info','mail','departmentNumber','department','telephoneNumber','ipPhone','title','physicalDeliveryOfficeName','employeeType'
    Function StudentNameChange {
        $Attributes=BuildUserTable $UpdateUserAttributesArray
        Set-ADuser $User.sAMAccountName -Replace @{mail="$User.mail";targetAddress="$User.mail";proxyAddressess="SMTP:$User.mail";sn="$User.sn";cn="$User.sn + $User.givename"}
    $UpdateUserAttributesArray sets the value for the import file.
    StudentNameChange should set the updated value has needed.
    The script runs but no settings are changed.
    Set-AdUser $User.sAMAccountName  -mail $User.mail -surname $User.sn
    Like that.,
    Replace is only for optional attribute.
    Function does not specifi $user so that may also be missing.
    I think you need to spend some time learning the basics of PowerShell. It looks like you are just gluing things together thazt you have found with no understranding of how any of the bits work.
    Try just setting one user at a command prompt until you see how the CmdLet and PowerShell work.  Post single simple questions as you try each parameter.
    # build a test user object
    $user New-Object PsObject@{
    SamAccoutnName='somename'
    Mail='[email protected]'
    SN='lastname'
    GivenName='John'
    proxyAddresses='...<list of addresses>'
    #start like this and add items until you understand what is working.
    Get-AdUser $user.SamAccountName |
    Set-AdUser -Surname $user.sn -GivenName $user .GivenName -Replace @{Mail='$($user.Mail'}
    #use Rename-Object to change CN.
    You need to learn the simple bits before you try to do grand things.
    ¯\_(ツ)_/¯

  • How to add a certificate to IIS global "Server Certificates" list using PowerShell?

    Hi, been surfing the web for an example on how to add a certificate to the "global" IIS "Server Certificates" list using PowerShell but to no luck. I already have code in place on how to tie / associate a specific website with a specific cert but not how
    to add the new .cer file using the "Complete Certificate Request..." wizard using PowerShell.... I dont expect the final code to become published but if someone had an idea on howto integrate / get an entry point on where to interact between the "Server Certificate"
    list in IIS and POSH I would be super happy! :|
    I am runnign IIS on a Windows 2008R2 x64 Standard Edition if that helps..... of course, I would saddle for an CLI if there is no other way, but POSH is of course the way to go! :)
    Thanks for the help in advance guys, take care!
    br4tt3

    Hi and thanks for the suggestions!
    Although it comes close, the suggested code example points on howto import / incorporate .pfx files - I am getting fed by .cer files which I need to add into the IIS console using POSH.
    I tried explore the IIS.CertObj object but was not able to work out if this one could be used for importing / adding .cer files into IIS! However, launching the following command from a POSH console with Import-Module Webadministration already
    loaded into that shell;
    $certMgr = New-Object -ComObject IIS.CertObj returns the following error message:
    New-Object : Cannot load COM type IIS.CertObj
    From an IIS perspective I have the following components installed;
    [X] Web Server (IIS)                                    Web-Server
        [X] Web Server                                      Web-WebServer
            [ ] Common HTTP Features                        Web-Common-Http
                [ ] Static Content                          Web-Static-Content
                [ ] Default Document                        Web-Default-Doc
                [ ] Directory Browsing                      Web-Dir-Browsing
                [ ] HTTP Errors                             Web-Http-Errors
                [ ] HTTP Redirection                        Web-Http-Redirect
                [ ] WebDAV Publishing                       Web-DAV-Publishing
            [X] Application Development                     Web-App-Dev
                [ ] ASP.NET                                
    Web-Asp-Net
                [X] .NET Extensibility                      Web-Net-Ext
                [ ] ASP                                    
    Web-ASP
                [ ] CGI                                    
    Web-CGI
                [ ] ISAPI Extensions                        Web-ISAPI-Ext
                [ ] ISAPI Filters                           Web-ISAPI-Filter
                [ ] Server Side Includes                    Web-Includes
            [ ] Health and Diagnostics                      Web-Health
                [ ] HTTP Logging                            Web-Http-Logging
                [ ] Logging Tools                           Web-Log-Libraries
                [ ] Request Monitor                         Web-Request-Monitor
                [ ] Tracing                                
    Web-Http-Tracing
                [ ] Custom Logging                          Web-Custom-Logging
                [ ] ODBC Logging                            Web-ODBC-Logging
            [X] Security                                   
    Web-Security
                [ ] Basic Authentication                    Web-Basic-Auth
                [ ] Windows Authentication                  Web-Windows-Auth
                [ ] Digest Authentication                   Web-Digest-Auth
                [ ] Client Certificate Mapping Authentic... Web-Client-Auth
                [ ] IIS Client Certificate Mapping Authe... Web-Cert-Auth
                [ ] URL Authorization                       Web-Url-Auth
                [X] Request Filtering                       Web-Filtering
                [ ] IP and Domain Restrictions              Web-IP-Security
            [ ] Performance                                 Web-Performance
                [ ] Static Content Compression              Web-Stat-Compression
                [ ] Dynamic Content Compression             Web-Dyn-Compression
        [X] Management Tools                                Web-Mgmt-Tools
            [X] IIS Management Console                      Web-Mgmt-Console
            [X] IIS Management Scripts and Tools            Web-Scripting-Tools
            [ ] Management Service                          Web-Mgmt-Service
            [ ] IIS 6 Management Compatibility              Web-Mgmt-Compat
                [ ] IIS 6 Metabase Compatibility            Web-Metabase
                [ ] IIS 6 WMI Compatibility                 Web-WMI
                [ ] IIS 6 Scripting Tools                   Web-Lgcy-Scripting
                [ ] IIS 6 Management Console                Web-Lgcy-Mgmt-Console
        [X] FTP Server                                      Web-Ftp-Server
            [X] FTP Service                                 Web-Ftp-Service
            [X] FTP Extensibility                           Web-Ftp-Ext
        [ ] IIS Hostable Web Core                           Web-WHC
    More or less the one thing that I am trying to get up and running is an automated FTPS solution - I just use the IIS console to be able to troubleshoot / compare how things scripted from POSH interacts in the MMC representation. The error I am getting
    might be that I am lacking some IIS components to be in place to be able to automate some parts of the IIS - as suggested by the IIS.CertObj object listed in the example..... I will get back if I can track down which component needs to be added to be
    able to reference the IIS.CertObj object.
    Br4tt3 signing out...
    br4tt3

  • How can I find what scom group a specific server belongs to using powershell?

    Environment:  SCOM 2007 r2
    Server in question:  Running Windows 2003 Std. (yes I know this sounds crazy)
    Why do I need this:  I noticed at the console level we have had server unexpected shutdown events which are not generating email notifications. 
    Source shows: Windows 2003 Server Standard Edition
    Alert Rule:  Windows Shutdown Unexpectedly
    From what I see these are all windows 2003 server Std edition systems.  I did a track and trace using our exchange tracking system which confirmed the alerts were not being emailed. Not sure if there is a better approach for this, but not being a sql
    expert (however I do have someone I can leverage) I am trying to see if I can somehow extract this information using powershell.
    Secondary general question:  How can I find out the current size of our scom 2007 database and the number of objkects\servers being monitored? This is prep work for a migration over to 2012.
    Thanks in advance for the help!

    1. what scom group a specific server belongs to
    function Get-GroupNames {
     [cmdletbinding()]
     param($computerFQDN)
     $containmentRel = Get-RelationshipClass -name:’Microsoft.SystemCenter.InstanceGroupContainsEntities’
    $computerClass = Get-MonitoringClass -name:”Microsoft.Windows.Computer”
    $criteria = [string]::Format(“PrincipalName = ‘{0}’”,$computerFQDN)
     try {
     $computer = Get-MonitoringObject -monitoringClass:$computerClass -criteria:$criteria
     $relatedObjects = $computer.GetMonitoringRelationshipObjectsWhereTarget($containmentRel,[Microsoft.EnterpriseManagement.Configuration.DerivedClassTraversalDepth]::Recursive,[Microsoft.EnterpriseManagement.Common.TraversalDepth]::Recursive)
     catch {
     $_
     write-host “An error occurred while querying groups of $computerFQDN”
    foreach($group in $relatedObjects)
     [array]$Groups = $groups + $group.SourceMonitoringObject.DisplayName
     if($groups) {
     return $groups
     } else {
     write-host “No groups available for $computerFQDN”
    Usage:
     Get-GroupName -ComputerFQDN myserver1
    for detail, pls. refer to
    http://techibee.com/powershell/powershell-get-scom-groups-of-a-computer-account/1129
    Roger

  • Custom List Form creation using Powershell - SharePoint 2013

    Hi,
    I have a custom List called 'IssuesList' with 4 fields - "IssueTitle","IssueID","IssueDesc","Status"
    While displaying display form I should show 3 fields expect Issue ID i.e. IssueID should be hidden.
    and on edit form only Status field should be editable. So using SharePoint designer I created respective Edit form and display forms and changed XSLT to control the display mode on the fields.
    I have everything scripted in powershell till now - creation of custom list, publishing pages, webparts etc. however I am looking for how to provision or associate these 2 list forms with IssuesList after I create the list in new site.
    I have restrictions on using wsp and site/list template due to business needs. So I need to know if there is any way I can upload these 2 files after I create custom list in powershell and associate them as defaultdisplay and defauteditforms?
    Please advise.

    Hi,
    Per my understanding, you might need to apply these custom forms to a list after list creation using PowerShell.
    With PowerShell with SharePoint Object Model, we can hide fields on list forms.
    The similar thread below with code snippet will provide more information about this:
    https://social.technet.microsoft.com/Forums/en-US/ee6fc2eb-197f-4144-94fa-8a4e438675d9/hide-a-field-from-edit-form-list?forum=sharepointgeneralprevious
    If there may be other requirements except for hiding fields, as you have limitation on using custom solution package(which should be preferable in such scenario),
    a workaround I can provide is that, after list creation, you can add Content Editor Web Part contains the CSS style or JavaScript to the form pages of a specific list, it will help you hide/disable the specific elements, this can be achieved programmatically.
    The code below can add a Content Editor Web Part to the DisplayForm of a list(though in C#):
    public static void AddCEWP()
    SPLimitedWebPartManager manager = null;
    SPFile file = null;
    using (SPSite site = new SPSite("http://sp"))
    using (SPWeb web = site.RootWeb)
    try
    web.AllowUnsafeUpdates = true;
    file = web.GetFile(web.Url + "/Lists/List018/DispForm.aspx");
    manager = file.GetLimitedWebPartManager(PersonalizationScope.Shared);
    ContentEditorWebPart webPart = new ContentEditorWebPart();
    XmlDocument xmlDoc = new XmlDocument();
    XmlElement xmlElement = xmlDoc.CreateElement("HtmlContent");
    //xmlElement.InnerText = "<strong>Hello World!</strong>";
    //write the custom CSS style or JavaScript here
    string content = "<style>your custom style here...</style>";
    xmlElement.InnerText = content;
    webPart.Content = xmlElement;
    manager.AddWebPart(webPart, "Top", 0);
    manager.SaveChanges(webPart);
    web.Update();
    catch (Exception ex)
    //Utility.SPTraceLogError(ex);
    finally
    if (manager != null)
    manager.Dispose();
    web.AllowUnsafeUpdates = false;
    About how to hide fields on Standard List Forms using jQuery:
    http://social.technet.microsoft.com/wiki/contents/articles/21730.sharepoint-2010-conditionally-hide-fields-on-standard-list-forms-using-jquery.aspx
    http://stackoverflow.com/questions/10010405/how-to-hide-a-field-in-sharepoint-display-form-based-on-the-field-name-jquery
    Thanks
    Patrick Liang
    Forum Support
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support,
    contact [email protected]
    Patrick Liang
    TechNet Community Support

  • Split large .pptx file to multiple files using PowerShell

    Hi.
    I'm not a programmer and I have the task to split big .pptx file(>100 slides) to multiple .pptx files with 4 slides in each one and save them into SP library. It should be done on PowerShell.
    Thanks for any help!

    Hi,
    For splitting PowerPoint files into multiple parts, I would suggest you post this question to Office forum, you will get more help and confirmed answers there:
    http://social.technet.microsoft.com/Forums/office/en-US/home
    For uploading files to SharePoint Library using PowerShell, here are some links with script demos provided for your reference:
    http://social.technet.microsoft.com/wiki/contents/articles/19529.sharepoint-2010-upload-file-in-document-library-using-powershell.aspx
    http://spfileupload.codeplex.com/
    Best regards
    Patrick Liang
    TechNet Community Support

  • Unzip GZ files using Powershell

    I have  Windows 2008 Server with some GZ type files in a folder. I would like to script unzipping them using Powershell, can someone tell me if this is possible and how I would do it?
    The folder is d:\data_files\ and I'd like to uncompress all the .gz files in there
    I've searched around on the Net but can't find much that deals with GZ files specifically. The files are all named data-1.gz, data-2.gz etc
    Hello
    I have  Windows 2008 Server with some GZ type files in a folder. I would like to script unzipping them using Powershell, can someone tell me if this is possible and how I would do it?
    The folder is d:\data_files\ and I'd like to uncompress all the .gz files in there
    I've searched around on the Net but can't find much that deals with GZ files specifically.

    I also found that .Net 2.0 and above has native code for dealing with gzip files.
    Function DeGZip-File{
    Param(
    $infile,
    $outfile = ($infile -replace '\.gz$','')
    $input = New-Object System.IO.FileStream $inFile, ([IO.FileMode]::Open), ([IO.FileAccess]::Read), ([IO.FileShare]::Read)
    $output = New-Object System.IO.FileStream $outFile, ([IO.FileMode]::Create), ([IO.FileAccess]::Write), ([IO.FileShare]::None)
    $gzipStream = New-Object System.IO.Compression.GzipStream $input, ([IO.Compression.CompressionMode]::Decompress)
    $buffer = New-Object byte[](1024)
    while($true){
    $read = $gzipstream.Read($buffer, 0, 1024)
    if ($read -le 0){break}
    $output.Write($buffer, 0, $read)
    $gzipStream.Close()
    $output.Close()
    $input.Close()
    $infile='C:\Temp\DECfpc1new.csv.gz'
    $outfile='c:\temp\DECfpc1new.csv'
    DeGZip-File $infile $outfile
    You can supply the function with the full path of the file to be unzipped, and the full path of the unzipped file.
    If you don't supply the unzipped file path, the function will unzip the file into the same folder as the source, and remove the .gz extension.
    Inspired by Heineken.

Maybe you are looking for

  • Price difference due to changed POD qty how to account for this ?

    Hi Gurus, I am having delivering goods after activating POD at item level and customer master. My delivery document the qty is 10 tons , Due to pilferage transportation loss etc the qty is reduced to  9.5 tons. After confirming POD , i am billing for

  • A bug in adding motion to multiple graphics?

    Having a weird problem. Basically, on a DV Pal sequence, I put a graphic onto the timeline and apply some simple motion. Once rendered it looks great. I then add another graphic on V2 and apply motion and dissolve between them. Looks okay (but obviou

  • Performance and Resolution of AVCHD on hex core PC

    If you can help with an unrelated issue, since Adobe 'Contact Us' notes that I should try the Forum because of a lengthy backup: I have a login problem on my hex core that was not used to download Production Premium CS6.  I use my quad core backup PC

  • Error #2148 when updated Flash Player to version 14

    Links to files shared in my network area stops working after update Flash Player to v.14 (in FP 12 and FP 13 it worked). When I click on link displaying in my application via TextFlow i got this error message: Error #2148. SWF file <http://my_www_ser

  • [SOLVED] Report Repeating Frame Will Not Print More Than One Page of Data

    I have a layout which contains only 1 repeating frame, and is not contained in any other frames. The query that the group of this frame is based on returns 414 rows. The report is a character based report of 180x66. All of the fields in the repeating