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!!
KevinSHi 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 -
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!
ChengHi,
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 GypsyBTW, 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
regardsI 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!
br4tt3Hi 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